谁来给我讲讲不同语言(主要是 js 和两大框架)最新的缩进规范

2022-05-12 14:09:21 +08:00
 unt
我以前都是缩进 4 个空格,把 tab 直接设成了 4 个空格,可是我发现好多人都是缩进 2 个空格,是我搞错了吗,还是什么
4291 次点击
所在节点    程序员
37 条回复
dayeye2006199
2022-05-12 14:16:42 +08:00
这类东西统一交给 linter 处理,空格和 tab 自动转换。只要团队遵守一个规范就行了。本来都没有什么对错。
molvqingtai
2022-05-12 14:18:18 +08:00
看团队规范,不过目前前端圈的 JavaScript 风格指南大多是 2 个空格
rioshikelong121
2022-05-12 14:19:54 +08:00
本质上不存在"统一的缩进规范"这种东西。具体看项目约定。我的职业生涯里面用 2 space 比较多。

或者可以看看前端比较流行的几种风格规范中对于 indent 是怎么约定的:

https://google.github.io/styleguide/jsguide.html#formatting-block-indentation
https://github.com/airbnb/javascript#whitespace
https://standardjs.com/rules.html


我发现都是 2 space 风格。
nomagick
2022-05-12 14:21:38 +08:00
程序语言一般是 4 个空格,因为缩进层次比较少,空格多更清晰

mark-up 语言包括 HTML ,yaml ,扩展到 XML ,JSON ,两个空格,
因为缩进层次非常多,空格多了反而更乱。


现在前端理论上应该 html 两个空格,js/ts/css 四个空格,
但现在拜 vue 和 jsx 所赐,程序和 mark-up 是混写的,
无论如何都很乱,无论如何其实都错了,所以不必再关心对错。
unt
2022-05-12 14:57:12 +08:00
@dayeye2006199
@molvqingtai
@rioshikelong121
@nomagick 嗯,我表述的不太对,我知道没有对错,应该问:哪种更主流,你们公司现在的 eslint 规范是几个空格?
因为存在一个习惯性问题,毕竟迎合大众可能比较好一点。
molvqingtai
2022-05-12 15:39:03 +08:00
@unt
目前社区主流的规范,我们公司使用的 Standard ,没有分号
Airbnb: https://github.com/airbnb/javascript
Standard: https://github.com/standard/standard
Google: https://github.com/google/eslint-config-google
XO: https://github.com/xojs/eslint-config-xo
duduaba
2022-05-12 15:51:45 +08:00
我是受不了 4 个空格,层级深的情况感觉左边空了一大片,视觉上很难受。
MaxTan
2022-05-12 15:55:44 +08:00
个人习惯,所有都统一 4 空格缩进
sunmoon1983
2022-05-12 16:01:00 +08:00
@MaxTan 大赞,我这都是 4 个空格,2 个的话看着不清晰
murmur
2022-05-12 16:01:45 +08:00
我们按 4 个空格,因为后端是 java ,受不了 4 个空格的换个显示器嘛,买个 21:10 的,8 个空格都放得下
darknoll
2022-05-12 16:15:45 +08:00
前端 2 个空格,后端 4 个空格
wktrf
2022-05-12 16:28:10 +08:00
2 个空格显示得多些,单引号少按一个键,分号结尾
iamzuoxinyu
2022-05-12 16:29:59 +08:00
2 空格缩进说明前端普遍代码写得烂,嵌套层次深。
icyalala
2022-05-12 16:34:17 +08:00
不如折中一下,3 个空格 (狗头)
fiypig
2022-05-12 16:40:47 +08:00
我一直习惯 4 个
murmur
2022-05-12 16:53:38 +08:00
@icyalala 激进一点 6 个空格,六六大顺
undeflife
2022-05-12 16:53:41 +08:00
开始我写 c 、java 都是 4 空格
后来我写 ruby 改 2 空格了

现在发现用 tab 最好,每个人都可以自己自己宽度,至于不会 tab 和 space 混用就行。
FightPig
2022-05-12 16:54:50 +08:00
我一直统一两个
murmur
2022-05-12 16:55:06 +08:00
@nomagick 缩进层次多才需要 4 个空格,就英文字体那点宽度,字稍微小点 2 个空格用人眼看层级简直是挑战,难不成每次都拿 ide 折叠一下
freefcw
2022-05-12 16:55:52 +08:00
@duduaba 层级太多往往说明代码不行,业务逻辑层次过多,一个函数里面大多 2-3 层就足够了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX