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
huiyifyj 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() |