制表符还是空格? 显然是空格,但多少个?

如果您对代码缩进充满热情,您并不孤单。
247 位读者喜欢这个。
A bunch of question marks

Opensource.com

根据您询问的对象,当涉及到编码风格时,这是最愚蠢或最重要的问题:制表符还是空格?

当我们去年夏天向您,我们的读者,提出 您更喜欢制表符还是空格 这个问题时,空格胜出了。 话虽如此,这是一个细致入微的问题,其中编程语言、编辑器和项目风格都应发挥作用。

无论您在空格与制表符的辩论中站在哪一边,都有一个相关的问题:如果您使用空格,您使用多少个?如果您使用制表符,您将多少个空格设置为等同于一级制表符深度?

有一种观点认为应该尽可能少用,特别是当您编写的代码包含特别冗长的命名约定,导致每行总字符数快速接近三位数时。 或者,也许您的代码中有特别深的缩进级别,并且出于某种原因,没有将较长的代码块分解为子例程。

使用更多空格的论点也是可读性,但在另一方面:如果您不使用足够的空格,有时很难轻松分辨代码行的缩进深度,尤其是在较小的字体大小下。

所以我们问您,亲爱的读者,在您选择的编辑器中,多少个空格等于一级缩进?

标签
User profile image.
Opensource.com 发布关于创建、采用和共享开源解决方案的故事。 在 Twitter 上关注我们 @opensourceway。

7 条评论

首先,2018 年还在用空格? 为什么要让自己不必要地承受数十万个额外的字符?

我知道,对吧? 我认为制表符更好; 您可以配置编辑器以匹配您希望每个制表符代表的空格数,这一事实使它们更好得多。 此外,我可以只按一次制表符就得到四个空格...... 我真的不明白这场无休止的制表符与空格之战的意义何在,因为制表符已经一次又一次地显示出它们的优越性。 即使 Go 语言也默认使用制表符!

回复 作者 D (未验证)

制表符还是空格? 显然是制表符,但多少个? 制表符的简单答案:1! 为什么要使用多个空格,虽然制表符是很久以前发明的...

我看到这篇文章的作者隐藏在 opensource.com 名称下... 我认为作者害怕有人会检查他的作者,打开段落标记,然后会看到用于格式化的空格 :)

制表符。 程序员可以在他们的编辑器中设置制表符停止位,以设置他们希望看到的空格数。 代码不会因为不同的程序员使用不同数量的空格而出现奇怪的缩进。 并且缩进级别很清晰。

我会同时使用制表符和空格来编写 HTML、Javascript 和 CSS,甚至不用考虑它 - 因为谁在乎呢,空格只是一个视觉工具,对吧? 而且我并没有真正编写任何要在不同编辑器之间广泛共享的东西。

对于 Python,只使用空格。

空格。 当与不同的人协作时,每个人都有不同的编辑器配置。 当使用制表符时,文件对于不同的用户将显示不同。 当制表符和空格混合使用时,情况会更糟 - 列不对齐,这使得任何人在不将其编辑器配置为与原始作者相同的制表符宽度的情况下都难以阅读。

至于节省字节,我无法相信有人会在意,考虑到文件的大小和存储介质的大小。 至于便利性,我仍然可以键入 TAB 键来插入正确数量的空格(或重新缩进该行)。 Emacs 已经这样做了几十年,我假设任何像样的程序员编辑器也可以做到这一点。

空格。
Makefile 除外,其中需要制表符。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.