实在没想明白空格缩进优点在哪里

2020-08-18 11:42:31 +08:00
 lovecy

tab 缩进

字符数少,而且显示的时候格式很好,不同设备展示差不多,而且能兼容一些宽度变化比较小的字体。

空格缩进

字符多,字体一变整个代码格式都变了,还有无法与代码中有用的空格区分

其实我倒无所谓,只是我们部门也没规定这些,有些同事用空格,有些同事用 tab,搞得我强迫症犯了

7285 次点击
所在节点    问与答
70 条回复
mazyi
2020-08-18 14:15:44 +08:00
hhhhhhhh,我要笑死啦,今日精选笑话集
lovecy
2020-08-18 14:20:46 +08:00
@la9998372 对齐确实用空格对齐比较好,我这老项目好多用 tab 对齐的,换个字体格式乱了都
@Shook 对齐确实用空格,我也是用一个插件自动空格对齐的,就是有一次前面有中文

@newtype0092 你是在开发只给英语语种人用的软件?代码里一点中文没有么

@shijingshijing 强制格式好像也有优点,感觉是习惯问题了
einsdisp
2020-08-18 14:40:07 +08:00
tab 用于“缩进”,空格用于“对齐”。

对于“缩进”,显示宽度是由阅读者自己定义或设置的,代码作者无法强制。
对于“对齐”,代码作者强制将相邻的行对齐,阅读者无法自己控制。

大部分情况下,“缩进”与“对齐”是两件事。
所谓“缩进”,用于区分代码块层级,例如代码行首的缩进。
所谓“对齐”,用于代码行中的某种语义的对齐,例如对齐前后相邻若干行的等于号、冒号、或行尾的注释,诸如此类的。

golang 默认的格式化工具就很清晰的区分的这两点:行首缩进用 tab,结构体注解对齐用空格。
darmau
2020-08-18 15:02:32 +08:00
我只知道你再纠结于这点就要找不到女朋友了,见《硅谷》
webshe11
2020-08-18 15:07:48 +08:00
(笑而不语)
lovecy
2020-08-18 15:16:19 +08:00
@darmau 搜了一下这剧感觉可以啊,追一下看看,至于你说的梗没 get 到

@webshe11 我急了我急了
ian19znj
2020-08-18 15:31:10 +08:00
@lovecy #46 硅谷里有一个情节是, 男主这样的奇葩走了狗屎运遇到一个志同道合的女票, 但是两人由于缩进应该用空格和 tab 的分歧而分手, 其中男主坚持要用 tab.
chenmobuys
2020-08-18 15:49:45 +08:00
空格固定宽度,Tab 不同编辑器显示的宽度可能不一致。
lxk11153
2020-08-18 16:02:42 +08:00
append 一个例子出来吧,我懵逼了!!!
qiyue0726
2020-08-18 16:06:28 +08:00
@ian19znj 理查德是空格党
qiyue0726
2020-08-18 16:08:37 +08:00
我就很不爽 Python 那垃圾缩进设计,Java 、JS 这些我都是 tab 、空格混着来,对齐了就好
qqqqqcy
2020-08-18 16:57:35 +08:00
所有靠自觉和口头的风格化都是没有任何价值的。在项目里用 lint 工具限定好就行了,用哪个都无所谓,关键是要统一
sdlzqjf
2020-08-18 17:39:17 +08:00
ide 里都可以设置缩进格式,可以设置成四个空格,也可以设置成 tab,只要团队用统一代码格式模版,统一格式化就行啊,讨论哪个好哪个坏没什么意义,关键是要有统一的规范,其他的用工具来实现就可以啊
icyalala
2020-08-18 18:02:12 +08:00
passerbytiny
2020-08-18 18:10:33 +08:00
@lovecy 直到现在,你都没说你用得是什么编辑器,你也没说明白你那个“尽量”对齐是个什么效果。

“我不明确说出我的论据,你要先猜出我的论据再拿论据反驳”,你这种人在本社区是会被喷 /屏蔽到自闭的。

此项不用回复,原因见上。
ZRS
2020-08-18 19:21:41 +08:00
一致性
JCZ2MkKb5S8ZX9pq
2020-08-18 19:23:23 +08:00
本来我 python 也一直用 tab,感觉简洁还省字符。不过后来有几个开源项目统一要 pep8,那之后就基本都按 pep8 标准来了,缩进也用空格了( autopep8 自动搞定)。
Torpedo
2020-08-18 19:41:45 +08:00
随便,设置好格式化工具,爱咋咋地
secondwtq
2020-08-18 20:00:44 +08:00
文本形式的“代码”仅仅是“程序”的一种编码形式而已。我倒是觉得不应该太局限在单一的编码形式上。
tairan2006
2020-08-18 21:14:35 +08:00
tab 转 4 空格就完事

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

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

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

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

© 2021 V2EX