缩进2个空格是否安全?

alg*_*hms 12 compatibility code-organization indentation

我知道"我应该如何缩进代码"的一般答案通常是"按照您的意愿行事,但与团队中的每个人一样",但在上一次我看到很多项目和平台都依赖于2空间缩进.

我只是想确保在缩进时获得"最好的帮助",并确保它具有前瞻性.考虑到兼容性等,稍后在项目中更改结构是一个相当大的问题.

现在大多数项目依赖于2个Spaces,4个SpacesTabs.


项目及其缩进:

  1. 标签
    • WordPress的
    • jQuery的
    • CakePHP的
    • 混帐
    • Linux内核(似乎不一致)
  2. 4个空格
    • Django的
    • Symfony的
    • 堆栈溢出
    • Zend框架
    • 雅虎
    • 的MacVim
    • Memcached的
  3. 2个空格
    • 谷歌
    • HTML5 Boilerplate
    • Ruby on Rails
    • Drupal的
    • Node.js的
    • Github上
    • 蓝图的CSS
    • 杰奇
    • 选择
    • Backbone.js的
    • Modernizr的
    • Scriptaculous的
    • Clojure的
    • Facebook(我认为)

问题是"社区"在哪里?2个空格还是4个空格?

我的猜测是2个空间,因为它表现在大公司和所有标准推动项目都在使用它.

您如何看待当前和未来的情况?适应2 Spaces缩进是否明智?

Ben*_*ott 5

我们在组织中与TABS缩进的原因很简单.选项卡可以转换为空格,但空格无法转换为选项卡(可靠).一旦掌握了它,大多数编辑器都允许您设置TAB-WIDTH,因此您可以根据需要将代码视为缩进.2,4,6个空格!

  • 我可以告诉你,最终,你会在做出这个决定的那一天懊恼. (27认同)
  • @James--加入21世纪,使用ide :)就此而言,vim autoindents,我相信emacs确实 - 你的论点似是而非(至多) (6认同)
  • @KevinDTimm现在看到它已经过了一年之后,我想发表评论 - 我还没有"吵闹";) - 明年见. (6认同)
  • @VivekGhaisas不,我仍然没有懊恼.在编写Python时,我遵循标准的4个空格(我不是异教徒),但是在个人项目或C++中我整天都在标签. (3认同)
  • 尽管大多数编辑器都允许您设置特定的选项卡宽度,但许多其他工具并非如此,尤其是在终端窗口中显示文本的命令行工具,这意味着源代码通常会显示不正确.使用空格可以解决这个问题 - 大多数编辑器会自动将制表符转换为给定数量的空格. (2认同)