实在没想明白空格缩进优点在哪里
tab 缩进
字符数少,而且显示的时候格式很好,不同设备展示差不多,而且能兼容一些宽度变化比较小的字体。
空格缩进
字符多,字体一变整个代码格式都变了,还有无法与代码中有用的空格区分
其实我倒无所谓,只是我们部门也没规定这些,有些同事用空格,有些同事用 tab,搞得我强迫症犯了
字符数少,而且显示的时候格式很好,不同设备展示差不多,而且能兼容一些宽度变化比较小的字体。
字符多,字体一变整个代码格式都变了,还有无法与代码中有用的空格区分
其实我倒无所谓,只是我们部门也没规定这些,有些同事用空格,有些同事用 tab,搞得我强迫症犯了
除非你中英文混用,中文 fallback 到其他字体去了。
使用空格等于将你的缩进喜好强加于阅读者,比如你喜欢 2 缩进,阅读者就只能看 2 缩进的代码。如果阅读者喜欢 4 缩进,那就很难受了。
而 tab 完全不存在这个问题
@ysoserious 不是我不想统一,如果大家都用空格,我也用了,我们老代码是 tab,然后有些同事用 JetBrains,有些用 sublime,默认的缩进是空格,我们没人规定这个,所以想看看大家都是咋样的。。。
tab 的宽度在不同的环境下是会变的,恶心得一批
另外 editorconfig / prettier 也如此好用,根本不需要手工缩进,硬盘空间如此便宜,也无须纠结文件大小。
Python 这种就是解决一个不存在的问题,敲四个空格+后期可能出现问题 vs 每行分号结尾,真不明白到底是谁战胜了谁。
@newtype0092 你是在开发只给英语语种人用的软件?代码里一点中文没有么
@shijingshijing 强制格式好像也有优点,感觉是习惯问题了
对于“缩进”,显示宽度是由阅读者自己定义或设置的,代码作者无法强制。
对于“对齐”,代码作者强制将相邻的行对齐,阅读者无法自己控制。
大部分情况下,“缩进”与“对齐”是两件事。
所谓“缩进”,用于区分代码块层级,例如代码行首的缩进。
所谓“对齐”,用于代码行中的某种语义的对齐,例如对齐前后相邻若干行的等于号、冒号、或行尾的注释,诸如此类的。
golang 默认的格式化工具就很清晰的区分的这两点:行首缩进用 tab,结构体注解对齐用空格。
@webshe11 我急了我急了
“我不明确说出我的论据,你要先猜出我的论据再拿论据反驳”,你这种人在本社区是会被喷 /屏蔽到自闭的。
此项不用回复,原因见上。
因为他们的开发者™不写中英文混合的代码。
你要在英文代码里加中文,自己找中英文等宽字体去啊。
Yahei Consolas Hybrid 出来多少年了?至少有个 5 年了吧,我自己 VSCode 上一直在用,以前 Sublime2 上就在用了。
更纱黑体也有好久了吧?虽然我不太喜欢这英文字形,不过 SSH 远程用感觉还不错。
用空格和用 Tab 这事能怪到老外不用中文写代码上我也是头一次见了。
The tab key Tab ↹ on a keyboard is used to advance the cursor to the next tab stop.