2012-07-15 58 views
26

如果您阅读了任何编码风格指南,您很有可能会看到使用空格而不是制表符缩进的建议。一些指南明确指出:绝不使用制表符。Tabs vs Space indentation

我知道有关于选项卡和空格开始核战争的风险。这当然不是我的意图。然而,我所做的打算是问问你是否有这个建议的充分理由。为什么大家都说空格是缩进代码的最佳方式?

+0

写得很好。 :) – sschrass 2012-07-15 13:19:44

+0

顺便说一句,如果有人投票结束的问题,将有助于知道_why_是。谢谢! – 2012-07-15 13:30:41

+3

在PSE上已经完成了这件事:http://programmers.stackexchange.com/questions/57/tabs-versus-spaceswhat-is-the-proper-indentation-character-for-everything-in-e例如 – Flexo 2012-07-15 15:52:16

回答

3

在不同的计算机和打印机上,制表符可以是不同的大小。代码在原始计算机上可能看起来很棒,但在另一台计算机或打印输出上,间距可能看起来都很奇怪。

使用空格,无论计算机如何,代码看起来都一样。

+9

是的,但标签的优点在于,您可以设置标签的宽度而不会实际影响源代码。 感谢您的打印说明。没有想过这个(因为我不打印代码) – 2012-07-15 13:15:48

+3

而核战争开始。 :)只是说明为什么大多数人喜欢空间。 – Starkey 2012-07-15 13:16:59

+0

我发誓我不想在这个火焰上。我希望听到更多的选项卡上的空间优势。 (我个人使用空格进行缩进,主要是因为我遵循了引导,但有些朋友强烈要求我切换到制表符;除了“是大人物做什么”之外,我无法提供任何其他有效的参数) – 2012-07-15 13:26:05

4

使标签看起来正确很大程度上取决于源代码可能显示或打印的所有软件的配置/选择。如果你拥有一套有限的软件,并发现这对你来说不是一个实际问题,那就太好了 - 如果你看到了价值,那就去做吧。但是,请注意,当一行缩进制表符时,然后继续后面的行,根据开头括号的位置缩进,排列引号等 - 您将以某种方式混合制表符和空格在视觉上不可能验证正确性(除非您的编辑器显示不同的标签)。反击,使用箭头键跨越标签,或删除,可以更快,但也更令人困惑和沮丧。对于使用不同制表符宽度的不同用户来说,很少有人会在相同的代码上干净地工作,这也许是制表符的主要承诺。我个人使用空格。

+2

+1对于标签和空格的混合参数 – Gevorg 2014-08-21 20:55:49

+0

但是,也有人可能会说,尝试在行之间排列内容是一件愚蠢的事情,因为您试图与第一行对齐的部分可能由于重命名而改变。看到Kevlin Henney的谈话,七个无效的编码习惯上的“完美”选择,使任何“衬砌事件”借口下降。 – 2017-10-20 19:25:10

+1

@JacobZimmerman听起来像又一场宗教战争:-)。就我个人而言,我喜欢保持自己的选择开放,并且在我认为在任何特定的代码中都达到最佳平衡。 – 2017-10-20 21:54:34