【问题标题】:Tabs vs Space indentation [closed]制表符与空格缩进[关闭]
【发布时间】:2012-07-15 13:09:09
【问题描述】:

如果您阅读过任何编码风格指南,您很有可能会看到有关使用空格而不是制表符进行缩进的建议。一些指南明确表示:永远不要使用标签。

我知道存在引发关于制表符与空格的核战争的风险。这肯定不是我想要的。然而,我的意图是询问您是否有任何充分的理由提出此建议。为什么大家一直说空格是缩进代码的最佳方式?

【问题讨论】:

标签: coding-style


【解决方案1】:

让标签看起来正确很大程度上取决于可能显示或打印源代码的所有软件的配置/选择。如果您有一组受限制的此类软件并且发现这对您来说不是一个实际问题,那很好 - 如果您看到价值,那就去吧。但是,请注意,当一行用制表符缩进时,然后在您希望根据左括号的位置缩进的后续行中继续,以对齐引号等 - 您将以一种方式混合制表符和空格视觉上无法验证其正确性(除非您的编辑器以不同方式显示选项卡)。与之相反,使用箭头键交叉制表或删除可能更快,但也更令人困惑和令人沮丧。很少有不同的人使用不同的选项卡宽度来干净地处理相同的代码,这可能是选项卡的主要承诺。就个人而言,我使用空格。

【讨论】:

  • +1 用于混合制表符和空格参数
  • 不过,也有人可能会说,尝试在两行之间对齐是一件愚蠢的事情,因为您尝试对齐的第一行的部分可能会因以下原因而改变重命名。请参阅 Kevlin Henney 的演讲,七个无效的编码习惯,这是一个“完美”的替代方案,可以让任何“排队”的借口都落空。
  • @JacobZimmerman 听起来像是又一场宗教战争:-)。就个人而言,我喜欢保持我的选择开放,并在任何特定的代码中做我认为平衡最佳的事情。
  • @Tony Delray 我并不想对此保持虔诚,我可以尊重你的实用主义,但我还没有看到使用空格而不是制表符的真正充分理由。
  • @JacobZimmerman:如果有一个真的很好的理由,这不会是一个无休止分歧的话题 - 仍然可以选择稍微但明显更好的选择平均而言,尤其是在使用不同编辑器、格式化工具、打印系统等的大型和多样化团队中工作时。Henney 的观点同样适用于 80 列编码器,但在某些环境中,由于重新格式化工作是净赢的到正在使用的编辑器和工具。无论如何,在他们的代码环境中有充分理由的读者不需要在这里寻求指导。
【解决方案2】:

标签在不同的计算机和打印机上可以有不同的大小。该代码在原始计算机上可能看起来不错,但在另一台计算机或打印输出上,间距可能看起来很奇怪。

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

【讨论】:

  • 是的,但是选项卡的优势在于,您可以设置选项卡的宽度而不会实际影响源。感谢您的打印解释。没想到(因为我不打印代码)
  • 我发誓我不想在这上面着火。我想听听空格相对于制表符的更多优势。 (我个人使用空格进行缩进,主要是因为我遵循指南,但一些朋友敦促我切换到制表符;除了is what big guys do,我无法带来任何其他有效参数)
  • 通常 [tab] 是 4x [space],但也可以是 4.5x [space],具体取决于 Starkey 所述的本地设置。然后你将不成比例的字体加入到混合中,你可以看到 Pershing 2 火箭将雄伟的升空...... :)
  • 如果两个开发者有两种不同的缩进偏好怎么办?他们都可以将标签宽度设置为他们喜欢的任何值。但是,对于空格,这是不可能的。因此,“带有空格的代码看起来总是一样”的论点是无效的,因为很多时候看起来一样不是具有不同偏好的不同开发人员想要的。
  • 无论您使用的是制表符还是空格。 Google 在其编码风格中使用空格并不意味着您不能使用制表符。做一些让你和其他人更容易理解你的代码的事情。
猜你喜欢
  • 2020-11-22
  • 1970-01-01
  • 2013-07-05
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
相关资源
最近更新 更多