Dart 每一行都来个“;” 做结尾,好麻烦啊!!!
|  |      1mainjzb      2021-07-19 11:20:49 +08:00 有的 IDE 还没有;,变色 一堆;,挤在一起直接眼花 | 
|  |      3love      2021-07-19 11:47:30 +08:00 为啥 JS 界现在共识不写分号了,因为分号真没用且视觉污染很大 | 
|      4wms      2021-07-19 11:50:37 +08:00 习惯问题, 我们写 C 的,每次看到末尾没有;反而不习惯,特别是 rust 这种, 没有;就是返回语句的,感觉就是倒退啊, 写个 return 有这么麻烦吗? | 
|      6maninfog      2021-07-19 12:54:01 +08:00 via iPhone Kotlin 不用写分号确实很爽,这也是它能写 DSL 的一个原因 | 
|      7zxCoder      2021-07-19 12:54:57 +08:00 习惯写分号 | 
|  |      8EPr2hh6LADQWqRVH      2021-07-19 13:00:12 +08:00  5 分号不是给编译器看的,是给人看的,减轻心智负担,给你人脑清空缓存,好加载下一行 | 
|  |      9EPr2hh6LADQWqRVH      2021-07-19 13:00:36 +08:00 这不是编程语言,这是心理学 | 
|  |      10hronro      2021-07-19 13:14:18 +08:00 via iPhone  3 Dart 在设计上本来就比 Kotlin 和 Typescript 差远了,你能指望 Google 设计出什么好的语言吗? | 
|      12Jirajine      2021-07-19 13:37:31 +08:00 via Android dart 确实不行,但问题不在分号。分号能区分 expression 和 statement,省略的话还是有不少问题的。 | 
|  |      13lagoon      2021-07-19 14:06:22 +08:00 同,目前接触过,c++、c#、Javascript 、Java 、Dart 、Kotlin,这几种语言都多多少少写过一些项目或小玩意。     最喜欢 Kotlin 。 | 
|  |      14windyCity1      2021-07-19 14:07:48 +08:00 句尾加不加分号,为什么不用 eslit 来做自动格式化呢。。。。。。 | 
|  |      15windyCity1      2021-07-19 14:08:07 +08:00 @windyCity1 #14 eslint | 
|      16Leviathann      2021-07-19 14:16:52 +08:00 js/ts 虽然大部分情况分号是可选的,但有些时候语法分号是必须的 比如自动执行函数的上一行必须要加分号。。 | 
|      17kidcats      2021-07-19 14:26:45 +08:00 dart 属实不太行,要是可以用 kotlin 写 flutter 我光速切过去 | 
|  |      20a719031256      2021-07-19 16:07:03 +08:00 @love  你写 js 不写分号,百分百会被打死的 | 
|      21rbq123456      2021-07-19 16:49:17 +08:00 @a719031256 从业以来,一直不写分号,换了三四家公司,不管是我配置的还是别人配置的 eslint,都是去掉分号 | 
|  |      22a719031256      2021-07-19 17:28:27 +08:00 @rbq123456  加上分号会让 js 代码更容易理解,别人接手更容易点,外包公司没法,人流太频繁了 当初做一个项目需要魔改百度地图的 js 时,很庆幸当时那个版本有分号,不然我头发要白不少 另外就是加分号的代码比不加分号的代码看起来更专业一点,可能我是写后端的吧,更在意代码可读性和维护性 每次看着前端写 vue,第一感觉就是这是个玩具,跟 php 一个样,写出来的东西性能真够垃圾的,代码还死难读 | 
|      23rbq123456      2021-07-19 21:28:54 +08:00 @a719031256  我说呢,合着你一个后端来对前端代码指指点点啊。另外,vue 的源码也是没有分号的 | 
|  |      24morize      2021-07-19 22:12:20 +08:00  2 @a719031256 格式化以后有换行不是一样的吗?难道你调的是压缩后的 js 文件? vue 和 php 招谁惹谁了,既然你不是前端,在这点上我就不和你掰扯了。 | 
|  |      25FightPig      2021-07-19 22:28:00 +08:00 Dart 要不是 flutter 回了一波血,可能都几乎挂了 | 
|  |      26Jaosn      2021-07-19 23:25:26 +08:00 现在我接触到的大多数前端同事都不写分号了。 另外感觉 8 楼老哥说的确实有点道理 | 
|  |      27exploreexe      2021-07-19 23:44:50 +08:00 不只是分号,还有逗号,还有嵌套。。。。 这玩意是真难写。。。比 OC 还奇葩 | 
|  |      28a719031256      2021-07-20 08:59:19 +08:00 | 
|  |      29TomVista      2021-07-20 09:23:23 +08:00 dart 是真和别人不一样, 比如 class ,天真的我以为天下 class 是一家,直到写 flutter dart, 你 TM 给我解释解释这 TM 的是什么 class Dart:?? | 
|      30rbq123456      2021-07-20 09:34:07 +08:00 @a719031256 所以,你们后端的代码,一行会用几个分号么?如果一行不用好几个分号,那有没有分号又影响什么呢,换行就是新的代码逻辑,如果这个都看不懂,加个分号就能看懂了? | 
|  |      31a719031256      2021-07-20 10:35:16 +08:00 | 
|  |      32morize      2021-07-20 13:09:52 +08:00 @rbq123456 严谨一点来说,不加分号指的是不把分号作为语句的结尾。换行并不是新的代码逻辑,虽然绝大多数 js 代码看上去是这样的,只有很少的情况会引起问题,引用一段尤雨溪的话吧 「真正会导致上下行解析出问题的 token 有 5 个:括号,方括号,正则开头的斜杠,加号,减号。我还从没见过实际代码中用正则、加号、减号作为行首的情况,所以总结下来就是一句话:一行开头是括号或者方括号的时候加上分号就可以了,其他时候全部不需要。其实即使是这两种情况,在实际代码中也颇为少见。」 @a719031256 老前辈和现在的前端可能有技术代沟了,前端进化速度太快了😂 你说的两点我都完全不能理解 | 
|  |      33a719031256      2021-07-20 13:55:02 +08:00 @morize  加分号能让你的代码更容易理解,不加分号的代码在个别特殊场景下容易产生歧义,这个网上一大堆的例子 至于前端进化速度这个,我没深入了解,只是平时帮前端写代码时感受不出来有什么太快的变化 上面说的其实是我帮前端写代码时的感受,有分号和没分号的代码区别还是挺大的,没分号的代码理解上始终要拐个弯才能理解,尤其是在循环的时候 我前端也就会 vue 和 react,angularjs 现在没怎么用了,至于前端底层我没了解过 | 
|  |      34marcong95      2021-07-20 14:51:07 +08:00 @a719031256 #28 从你这个 vue 强制要求不写分号这句话就说明了贵公司没有真的懂前端的。目测只是你直接 vue init 出来的项目自带了 eslint-config-standard,你可以 vue init 的时候选 airbnb 的 eslint preset 我始终还是不太能理解分号到底对可读性有什么提高,能举个例子吗?但是为了照顾水平参差不齐的人员强制要求上分号我觉得可以理解,所以你更加应该引入 eslint 此外你说到代码解析啥的,似乎不少语言都是用换行作为 end of statement 的吧,例如 fortran 、basic 啥的。 | 
|  |      35a719031256      2021-07-20 15:36:40 +08:00 @marcong95  因为我经常给前端搽屁股,在前端离职后其他前端又忙的情况下让我们后端来写前端 我遇到大多数情况都是新的前端接手上一个前端的代码,第一句话就是重写这个功能,理由都差不多,看不懂上一个人写的代码,说代码乱七八糟的,分号只是其中的一个原有 如果现在前端水平稍微高点,我也不强求非要写分号,但目前看来很多前端连我们这种兼职还不行 | 
|  |      36a719031256      2021-07-20 15:44:22 +08:00 | 
|  |      37marcong95      2021-07-20 16:29:40 +08:00 @a719031256 #36 好吧,作为一个前端我也确实不能反驳你这个观点,门槛低且水平参差不齐这是事实。。。。 |