缩进使用空格而不是跳格这个风是什么时候刮起的?

214 天前
 zhwguest

不知不觉用了 10 年了,记得在早些年都是喜欢用 tab 而不是 space 的。

6930 次点击
所在节点    程序员
66 条回复
layxy
213 天前
@kneo java 缩进是 tab 不是空格
Seanfuck
213 天前
当然是 javascript ,在网上就没见过用 tab 缩进的 js 代码。
Seanfuck
213 天前
大概就是 nodejs 开始流行的时候
zhcode
213 天前
@luodan #10 这个情节不是生活大爆炸的,是《硅谷》里面的
justfindu
213 天前
从 2003 左右 高中参加 NOI 开始, 好像一直都是空格. 然后是 JS , HTML , 有时候 Tab 缩进的距离显示太短不好看.
leonshaw
213 天前
拨乱反正
lisxour
213 天前
@yazinnnn0 用的太累了(并不是指 editorconfig ),说个离题的话,一个项目,特别前端,根目录十几个.xxxxx 文件,你一个.xxx ,我一个.yyy ,他一个.zzz ,我 tm 真的
go522000
213 天前
不知道啥时候开始的,印象中是我换第二份工作的时候,2010 年左右吧,印象中这个当时争论挺大的,比较出名的是国外某个大佬的一篇文章的,在 tab 、2 个空格、4 个空格中,他建议是用 2 个空格,他的意思是他在测试 N 多个不同版本的系统与编辑器后,在大多数环境下,2 个空格的长度看起来是一致的,所以建议使用 2 个空格。
但啥时候变成 4 个空格不知道(只限后端),因为我最近看了几个前端项目,2 个空格的居多。
RYS
213 天前
一直是 tab
dragondove
213 天前
tab 在不同地方一致性的问题在现在不是问题,主流编辑器/IDE 都支持调整 tab 的显示大小,github 也支持个人设置里设置 tab 的显示大小,或者在地址栏里使用 ?ts=8 参数可以调节代码中 tab 的显示大小。
tab 的好处就是不同人不同显示设备可以按照个人喜好随意调节而不破坏原本的代码,不过实际使用时可能要用空格补齐对齐,而且不同 ts 大小会导致对齐被破坏。例如下面的 python 代码
l: list[list[int]] = [[1, 2],
[3, 4]]
这里 [3 前需要空格补充对齐,而且换个 ts 可能就会导致左中括号和上一行无法对齐。(例如这个变量名 l 是很长的一串)
this_is_a_long_variable_name = ... 这样的东西,换个行来对齐就容易出问题
zhwguest
213 天前
我只是好奇啊。

对了,看到很多朋友说,空格能够方便转 tab ,tab 不容易转空格,我怎么觉得刚好相反呢
Huelse
213 天前
主要是因为 git 等版本管理工具对这些敏感,为了统一性而选择空格(因为有的人 tab 是 2 个空格,有的人 tab 是 4 个空格),而空格是有几个就是几个,具有一致性。

另外当时很多编程语言也都优先空格,如 php 和 python...
williamx
213 天前
@dragondove “tab 的好处就是不同人不同显示设备可以按照个人喜好随意调节而不破坏原本的代码”

这是种幻觉,比“一次编译到处运行”还要虚假。
zhwguest
213 天前
@Huelse #32 难道 tab 没有一致性么?
duhbbx1119
213 天前
我看到过的就 linux 是用 tab
luodan
213 天前
@zhcode 哦,真是!居然记混了。
cj323
213 天前
@duhbbx1119 go 用 tab ,rob pike 认为渲染结果上的不一致应该计算机去解决而不是敲空格。虽然我用 tab ,但我觉得 rob pike 有点想多了,计算机没那么聪明,不知道每个人喜好,人也没那么勤快到处去放 editorconfig 。以至于 go 在编辑器的显示一致性都做不到。而 go 在 markdown ,html 里的显示更是千奇百怪。
rahuahua
213 天前
@jqtmviyu IDE 不是可以设置的么
jasonyang9
213 天前
除非 tab 和 space 的语义不同,随意
hzzhzzdogee
213 天前
我记得 stackoverflow 当年有一份问卷调查, 结果显示用 space 的比 tab 的薪水略高

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

https://ex.noerr.eu.org/t/1112762

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

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

© 2021 V2EX