
1 noe132 2018-05-21 12:19:17 +08:00 不加。 多层括号的时候,你很难区分哪里要加哪里不能加。干脆不加更方便 |
2 jecshcier 2018-05-21 12:20:24 +08:00 via iPhone swift 去掉了所有分号。跟着苹果走 |
3 firede 2018-05-21 12:21:27 +08:00 以前习惯加,现在不加,这种事儿交给 prettier 管。 |
4 vsomeone 2018-05-21 12:21:29 +08:00 via iPhone 更倾向于加,因为不加会遇到某些特殊情况,脑容量小不想花时间去额外记忆 |
5 VDimos 2018-05-21 12:22:33 +08:00 via Android 加分号习惯好,不加很容易出毛病 |
6 SuperMild 2018-05-21 12:23:39 +08:00 由于现在的编辑器非常智能,配置好编辑器的 lint 功能,会有错误提示,加不加都很方便,跟着提示做就行,或者自动格式化。 |
7 yulitian888 2018-05-21 12:24:56 +08:00 加分号为好,在压缩的时候更安全。 比如这个例子 var reg = //; reg.test("xxxxxxxxx"); 这是一个正则表达式,只是内容为空(实际发生的可能性比较小,只是举例而已) 不加分好的话,一压缩,呵呵哒~~~ |
8 lamada 2018-05-21 12:25:05 +08:00 eslint standard |
9 maichael 2018-05-21 12:26:20 +08:00 不加,上面说的不加分号带来的问题,有 Lint 完全能够避免。 |
10 xiaojie668329 2018-05-21 12:28:12 +08:00 via iPhone 以前不喜欢加,但是 prettier 会给我加上,而且 JS 中有些语句不加分号会出问题,所以现在都加了。 |
11 yulitian888 2018-05-21 12:36:47 +08:00 @maichael 用的 VS 的 Resharper 插件会推荐加。 实际上在压缩的时候,还是有一些别的情况会出问题的 a = b;(function(){ return 100 })(); a = b(function(){ return 100 })(); 的区别就...... |
12 murmur 2018-05-21 12:38:15 +08:00 当然要加 后端加的前端也加 |
13 yulitian888 2018-05-21 12:39:53 +08:00 @maichael 补充一下,举这几个例子的一个前提是,代码不应依赖于开发环境和工具。因为不是所有人都是用的统一的开发环境和工具(而且即使同一个工具,不同版本之间也可能有差异)。 |
14 jason19659 2018-05-21 13:06:40 +08:00 想起来就用,忘了就没了 |
15 LeungJZ 2018-05-21 13:14:46 +08:00 不加分号。tab = 4 个空格。驼峰命名。 来吧开战吧。 分号主要用于 const a = 10 ;(_ => {})() 这里,IIFE 一压缩就错。 但是不喜欢分号所以全部改成 !(_ => {})() |
16 Justin13 2018-05-21 13:19:43 +08:00 via Android 加,必须加,这是好习惯 |
18 burby 2018-05-21 13:27:19 +08:00 楼主了解一下 standard 或是 google style 选一个一直用下去就可以了,但是一定要团队统一 格式上没有必要花太多时间, 毕竟编辑器做的比人更精确更好 |
19 banricho 2018-05-21 13:28:27 +08:00 没事找事,爱咋写咋写,没有优劣 说不加分号会出事的,怕是不知道现代化的生产力工具完全可以避免这些问题 |
20 autoxbc 2018-05-21 13:28:38 +08:00 via iPhone 就说一点,前置分号那几个特例非常丑 |
21 wwdyy 2018-05-21 13:28:48 +08:00 不加 |
22 SourceMan 2018-05-21 13:29:52 +08:00 源码不加 |
23 nikolai 2018-05-21 13:50:04 +08:00 跟着 eslint 走 |
24 MonoLogueChi 2018-05-21 13:53:42 +08:00 via Android 个人习惯加分号,因为我写的是 Java Script |
25 salamanderMH 2018-05-21 14:05:29 +08:00 没什么关系 |
26 newbieo0O 2018-05-21 14:07:40 +08:00 开个 lint, 分分钟治好你的病,也可能是他的病,哈哈 。 要求 2 个空格缩进,少了这个,少了那个。一下子就把你治服贴了。 |
27 66beta 2018-05-21 14:11:47 +08:00 8 楼 +1 |
28 bucky 2018-05-21 14:12:45 +08:00 不加分号怕出事儿,于是加上,不带伞怕下雨,于是一年 365 天,天天带伞出门,额... |
29 lijsh 2018-05-21 14:23:30 +08:00 想加就加,不加就不加,但是规范要做好,编辑器可以帮你自动加减的。 |
30 marcong95 2018-05-21 14:41:03 +08:00 公司代码要求加,个人项目基本上 Standard。实际写代码看心情打,反正有 ESLint |
31 jecshcier 2018-05-21 14:48:08 +08:00 via iPhone |
32 kslr 2018-05-21 15:05:48 +08:00 eslint 让我加 |
33 h1367500190 2018-05-21 15:18:55 +08:00 不加,prettier。就算手动加也是前置,或者使用 void |
34 saran 2018-05-21 15:25:05 +08:00 {}里的全不加。 变量、常量全部加。 |
35 fengyj 2018-05-21 15:26:18 +08:00 via Android 先学的 c/c++,然后有时 Java,自学 js 的时候发现可以随意,然后自己就默认加上 |
36 flight2006 2018-05-21 15:32:59 +08:00 via Android java 程序员写 js 大部分加,有时不加,同一个文件里统一 |
37 juicy 2018-05-21 15:38:20 +08:00 加不加都可以,重要的是要符合团队的规范,团队里都加,就应该加。 |
38 bumz 2018-05-21 16:29:56 +08:00 当然是加分号 |
39 randyo 2018-05-21 16:34:06 +08:00 via Android 用分号习惯好,反正有 eslint 帮你做 |
40 CodingMonkey 2018-05-21 17:18:22 +08:00 不加分号,浑身难受 |
41 doubleflower 2018-05-21 18:06:17 +08:00 @yulitian888 你用的人肉 JS 压缩工具?? |
42 ipwx 2018-05-21 19:20:28 +08:00 @jecshcier 我认为“没有歧义”以及“简单易懂”才是真正的美观。Python 语法禁止直接换行,因此不加分号。JS 允许换行,所以要分号保证没有歧义、以及一眼望过去就能知道代码在干什么。 |
43 jiangzhuo 2018-05-21 22:06:40 +08:00 jscs 我记得哪次提议又说要加分号嘞 能不加就不加 但是有时候不得不写分号。慢慢的看惯了行首分号还有点萌 |
44 james2013 2018-05-21 22:44:56 +08:00 加的,用惯了 Java,习惯加分号,即使偶尔忘记加了,下次看到了还会补上 |
45 yulitian888 2018-05-22 08:49:19 +08:00 @doubleflower 看不出来那些只是简单示例一下吗?或者你从没遇到过压缩出错的代码?这也要喷,姿势不对啊! |
46 doubleflower 2018-05-22 09:23:30 +08:00 @yulitian888 麻烦举个压缩出错的代段片段,举出来我服 |
47 yulitian888 2018-05-22 09:31:34 +08:00 |
48 hanzichi 2018-05-22 10:44:28 +08:00 以前我是绝对的加分号党,4 空格党。。 现在,不加,2 空格,as lazy as posible ... |
49 lizhenda 2018-05-22 14:00:58 +08:00 装个 Prettier 自动格式化 |
50 e8c47a0d 2018-06-04 12:41:58 +08:00 坚决不用分号,而且碰到那些需要分号的语言通常都是直接抵制…… https://standardjs.com/readme-zhcn.html 这里面有说,除了以 ( 或 [ 或 ` 开头的行,前面要加分号。其他任何地方都不用加分号。 比如: ;(async () => { })() 或 ;['abc', null].toString() 或 ;`${sss}abc def`.trim() |