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

2022-05-12 14:09:21 +08:00
 unt
我以前都是缩进 4 个空格,把 tab 直接设成了 4 个空格,可是我发现好多人都是缩进 2 个空格,是我搞错了吗,还是什么
3862 次点击
所在节点    程序员
37 条回复
chenyu0532
2022-05-12 16:59:03 +08:00
还是太闲了,加个班吧
cpstar
2022-05-12 16:59:26 +08:00
以前四个空格,后来发现,还是 tab 靠谱,永远不乱
libook
2022-05-12 17:04:05 +08:00
面向需求选择方案,而不是一棵树上吊死。

个人感受是 4 空格缩进很容易分辨代码层级,但有的时候每行会比较长,折行频繁层级关系也就不那么清晰了,那么可以退而求其次用 2 格空格缩进,比如 HTML 。

但像 Vue components 这种每个组件代码块层级也不会特别深,也可以考虑 4 空格缩进。

团队约定清楚就好,然后搭配 linter 规则,提供个 editorconfig 文件,基本就不需要关心了。
nomagick
2022-05-12 17:29:05 +08:00
@murmur 层次多的时候屏宽才是主要问题,滚来滚去比人眼花矛盾更突出,要减少屏宽,所以两个空格。
而且 markup 对层次没那么敏感,信息密度很低,单位面积多显示一点东西收益更高
swulling
2022-05-12 17:30:36 +08:00
三楼说的对,层级太多四个空格就比较难受
pota
2022-05-12 17:35:31 +08:00
4 空格 2 空格实在是不习惯
zhangshine
2022-05-12 18:58:17 +08:00
我用 4 个空格,但是很多开源的用 2 个空格
pomelotea2009
2022-05-12 19:24:36 +08:00
前 2 后 4 ,而且不喜欢 html 每个属性一行,太占空间了
snoopyhai
2022-05-12 19:59:21 +08:00
空格还是 tab ,2 个还是 4 个, 都可以。 项目里创建 editorConfig 文件,约定好即可。
Notamo
2022-05-13 01:59:19 +08:00
Tab 键的来源就是古时候的印刷排版,是用来控制文字缩进的独立元素,有自己固定的宽度,不是由多少个空格组成的。后来引用到打字机,再到现代的键盘。

无论是排版,还是打字机,Tab 的长度和空格的长度都是分开计算的。

而代码中的缩进,就应该和文字排版中的缩进一样,应该用 Tab 来表示,而不是用多少个空格组成。
wangtian2020
2022-05-13 08:52:52 +08:00
按照个人喜好来
在项目根目录放个格式化配置文件就不用管了

.prettierrc
{
"singleQuote": true,
"semi": false,
"trailingComma": "es5",
"printWidth": 140,
"arrowParens": "always",
"endOfLine": "auto",
"useTabs": false,
"tabWidth": 2
}

我个人喜欢单引号字符串,不用分号结尾,2 空格缩进
没错,我就是认为短的就是好的
反正就我一个前端
renhou
2022-05-13 09:01:24 +08:00
@molvqingtai
老哥你好,我想问一下,主流的规范有 airbnb ,Standard 等等
假如我初始化了一个 vue 或 react 项目,导入 eslint 但并没有导入 Standard 等规范
那 eslint 是基于什么规范 lint 的呢? eslint 默认的规范嘛
molvqingtai
2022-05-13 09:53:30 +08:00
@lian704 如果你使用的是 vue-cli ,在 eslintrc 的 extends 字段中你会看到

"eslint:recommended",
"plugin:vue/recommended",

第一个是 eslint 默认规则,第二个是 vue 官方的配置
liuhuansir
2022-05-13 10:02:38 +08:00
前端 2 空格、后端 4 空格,go 没搞懂为啥是 8 个空格,看着好别扭
renhou
2022-05-13 10:04:55 +08:00
@molvqingtai
哦哦哦,原来是这样,看来一直在用的就说默认配置。谢谢
ryanlid
2022-05-13 10:39:26 +08:00
2 个空格,单引号,用分号 ~
MonoLogueChi
2022-05-13 11:45:35 +08:00
@murmur 缩进层次多,如果还是 4 空格,就很容易超出屏幕范围,或者是换行过多,换行过多又容易造成缩进层次增加,恶性循环。
如果 2 空格你觉得不好分辨,可以把缩进线打开。

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

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

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

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

© 2021 V2EX