
1 maichael 2020-02-19 20:46:40 +08:00 自己写代码的话随意。 团队的话以代码规范为准。 |
2 QQAdele2 2020-02-19 20:48:18 +08:00 袋鼠数据库管理工具( DBKangaroo )每周都要发布一个版本,所以 https://dbkangaroo.github.io/ |
3 lxk11153 2020-02-19 20:50:07 +08:00 依老夫看 3030 年应该还有类似问题: 加不加分号,Tab 还是 Space |
4 QQAdele2 2020-02-19 20:51:58 +08:00 同意楼主,实测确实快了。 袋鼠数据库管理工具( DBKangaroo )每周都要发布一个版本,前面几周上传安装包要一个上午,还经常断线; 最近一周上传只要半个小时左右即可搞定。 也欢迎大家关注 袋鼠数据库管理工具( DBKangaroo )的成长。。。 |
5 varzy 2020-02-19 20:58:38 +08:00 via iPhone 写项目第一件事就是配置格式化工具,未来想换风格只需要改个配置重新跑一下格式化命令就好 |
7 xqin 2020-02-19 21:04:04 +08:00 |
8 llb123 2020-02-19 21:04:50 +08:00 。。。这不是 1 看公司规范 2 看自己习惯么,反正 js 编译的时候也会给你加上分号的 |
9 KuroNekoFan 2020-02-19 21:06:01 +08:00 格式化工具能解决的问题就不要讨论了 |
10 heyjei 2020-02-19 21:07:36 +08:00 看项目带的 ESLint,如果没有看心情 |
11 learnshare 2020-02-19 21:08:28 +08:00 选一个合适的代码风格就行了 https://github.com/airbnb/Javascript |
12 liuy1994g 2020-02-19 21:35:11 +08:00 via Android js 不需要加分号啊 |
13 chenliangngng 2020-02-19 21:43:08 +08:00 不加。鉴于 js 不加分号乃糟粕之一,设置 IDE 保存时自动格式化帮加 |
14 MrUser 2020-02-19 21:50:56 +08:00 同意 9# 的, 配置好格式化工具,加与不加一个快捷键就统一了。 |
15 dfourc 2020-02-19 22:11:07 +08:00 放心,不管你加不加,Babel 会帮你加的 |
16 unicloud 2020-02-19 22:15:36 +08:00 via iPhone 我习惯在结尾加上; 这是在 jQuery 时代养成的习惯; |
17 mongodb 2020-02-19 22:18:26 +08:00 Python 不加。 所以我在 JS 里也不加。 |
18 charlieputon 2020-02-19 22:54:27 +08:00 via Android 一般编辑器不是会提示;是多余的吗,如果在语法上的确是多余的。记得 idea 和 as 都是这样。 |
19 ericls 2020-02-19 23:24:59 +08:00 via iPhone 不要浪费时间搞这些 都是可以自动加或者去掉的东西 0 成本改变决定的东西 |
20 ujued 2020-02-19 23:34:51 +08:00 via iPhone 站在极客的角度呢,不加会好些,看上去干净 |
21 Blackricky 2020-02-20 00:42:41 +08:00 在 《你不知道的 Javascript (中卷)》里专门有一个小节( 5.3 节)叫 [自动分号] 作者有认为需要加上分号。 Javascript 有时候会为代码自动加上分号, 自动分号插入( Automatic Semicolon Insertion,ASI )这是一种 “纠错”的机制,作者认为我们应该将这种机制的依赖降到最低。 有兴趣可以去看看原书。 我觉得说的很有道理,所以我加上了。 |
22 beastk 2020-02-20 00:57:07 +08:00 via iPhone 话说压缩的时候,不加分号会导致无法闭合吗? |
23 molvqingtai 2020-02-20 01:14:13 +08:00 via Android 不加 |
24 S4msara 2020-02-20 02:05:04 +08:00 via Android 习惯是有这么个习惯,所以 eslint 总是让我很难受,于是有在刻意提醒自己不加了 |
25 mrcotter2013 2020-02-20 05:34:49 +08:00 via iPhone 不喜欢加,ESLint 和 Prettier 配置好自动去除多余的符号,空格,缩进一类的 |
26 shanlanlan 2020-02-20 07:58:18 +08:00 @Livid 2/4 楼强行广告。 |
27 alexsunxl 2020-02-20 08:28:09 +08:00 不加 反正编译器会加上 |
29 bgm004 2020-02-20 09:46:10 +08:00 via Android vue 不加分号,其他习惯加。 |
30 sunmoon1983 2020-02-20 10:23:25 +08:00 强迫症必须加 |
31 Livid MOD PRO |
32 yiqiao 2020-02-20 10:31:29 +08:00 PHP 不是必须加「 ; 」的吗。。。 不加你能运行? 前端这个应该有规范吧。按规范来就好了啦 |
33 magiclz233 2020-02-20 10:32:17 +08:00 我自己觉得加上好点,因为这样在看代码的时候更清晰一点,但是我们团队是不加,我就好多都是自己加上,写完了一格式化没了。但是在写 Java 的时候,又得加上,搞的有点乱 |
34 drydiy 2020-02-20 10:40:23 +08:00 我曾经也为这个烦恼。我尝试不加一段时间后,发现代码看起来简洁了一点,就不加了。 其实需要手动加;的情况有这么几种: 1、当你使用 return 返回内容时,注意代码块需要跟 return 在同一行。( break、throw、continue 等同理) 2、注意 ()、[] 作为行头会跟上一行串联。 |
35 ben1024 2020-02-20 11:17:28 +08:00 看缘分加,顺手就加 php 必须要加的 |
36 jydeng 2020-02-20 11:19:42 +08:00 团队统一就好。我们统一加,因为都有 java、c#背景,习惯了。 |
38 no1xsyzy 2020-02-20 11:29:40 +08:00 没什么好说的,我觉得这种可以自动化等价互转的问题甚至不能叫做代码规范。规范让人遵守以保证某种要求的,但这种问题你根本没必要去刻意遵守,只需要无脑让工具完成。 至于用哪个,看哪个顺眼就行,如果看的量还没多到足以看任何一个顺眼,那就抛硬币决定 直到你真觉得不顺眼了,那你显然知道该怎样了。 |
39 AV1 2020-02-20 11:44:12 +08:00 不加分号的,能不能告诉我,如何避免这种问题? var a = b (function(){})() func() ['ul', 'ol'].map(func) |
40 ochatokori 2020-02-20 12:03:24 +08:00 via Android @DOLLOR #39 37 楼回答了你的问题,遇到([的行开头加个分号就是了,人又不是死的,说不加就全部不加 |
42 lijsh 2020-02-20 12:09:28 +08:00 看团队规范,反正 eslint 可以帮你 fix |
43 lxk11153 &nbp;2020-02-20 12:10:21 +08:00 所以我选择加,See: "应该将这种机制的依赖降到最低" |
44 ethusdt 2020-02-20 13:04:13 +08:00 看过 react conf 里有一期, 一大佬在上面用 vim 讲解 react hooks, 他说过: 别问我为什么用 let 而不是 const, 年纪大了, 能少敲几下就少敲几个. (大概这么个意思) |
45 Curtion 2020-02-20 13:24:31 +08:00 都是 eslint 来规范的,反正又不需要自己操作,如果是自己的项目就按照自己的想法来设置 eslint 嘛 |
46 realkaiway 2020-02-20 13:33:58 +08:00 via iPhone 我个人写 react 配合 eslint 句末加;已经是一种习惯,但奇怪的是 vue-cli 的脚手架不搞这套,所以你要用脚手架的话那索性就不加 |
48 wangyzj 2020-02-20 14:09:31 +08:00 eslint 我记得是没有的 |
49 rain0002009 2020-02-20 14:23:05 +08:00 vue 这种因为一般都是经过 babel 处理一下 不加分号 代码更清晰 egg 一般不会用 babel 的吧 加上分号更严谨 |
50 Hanggi 2020-02-20 14:40:02 +08:00 别争了,加肯定是要加的,这是 js 标准。但是不需要手动加,用工具,自动添加。 |
51 FaceBug 2020-02-20 14:42:24 +08:00 webstorm 不加好像会有一个提示颜色吧,然后一般就加上了。 |
52 66beta 2020-02-20 14:45:03 +08:00 建议采用 airbnb 的 js 规范 |
53 Mutoo 2020-02-20 14:51:52 +08:00 js 标准是建议加,但是 vue 的创史人 youyuxi 不喜欢加,所以他们不建议加。 不加的话会有歧义,例如 return { status: "OK" } 即使用 prettier 或 eslint 也不能正确地自动加上分号,会出现两种结果: return { status: "OK" }; 或 return; { status: "OK" }; |
54 Revenant 2020-02-20 15:34:29 +08:00 然而,对使用分号的人而言,ASI 机制有时会很棘手。例如: return { name: "ESLint" }; 这个看起来像是个 return 语句返回一个对象文本。然而,Javascript 引擎将代码解释成: return; { name: "ESLint"; } 事实上,一个分号插入到 return 语句之后,导致(块中的标签文本)下面的代码不可达。 |
55 puilu 2020-02-20 15:38:43 +08:00 配上 eslint,启用保存修复,爱+不+,前端规范乱得跟什么一样。 |
56 Martox 2020-02-20 16:21:24 +08:00 不加分号,老 vue 了 |
57 amundsen 2020-02-20 17:10:13 +08:00 一楼说得对 |
58 amundsen 2020-02-20 17:11:17 +08:00 我自己写已经没有加分号的习惯了,但是注意一些语法插件(lint)执行时可能会出问题。 |
59 redbuck 2020-02-20 17:15:11 +08:00 |
60 lguan 2020-02-20 18:38:07 +08:00 按团队来,我要求加,定 eslint,让 eslintrc 自动加 |
61 pan176 2020-02-20 19:35:05 +08:00 个人角度,加的。 |
62 gzzchh 2020-02-21 05:02:35 +08:00 via Android 习惯性加了 ,然后 jetbrains 提醒我我又一行一行去掉了 |
63 BigFoxGod 2020-02-21 09:10:35 +08:00 团队统一 eslint 规则不加 |
64 nortonlai 2020-03-12 21:32:46 +08:00 via Android 天天加,然后 ctrl+ s 所有分号全部被消失 |