为什么要使用8个缩进而不是4个缩进!
2018-03-02 15:16
176 查看
制表符是 8 个字符,所以缩进也是 8 个字符。有些异端运动试图将缩进变为 4 (甚至 2!) 字符深,这几乎相当于尝试将圆周率的值定义为 3。
理由:缩进的全部意义就在于清楚的定义一个控制块起止于何处。尤其是当你盯着你的 屏幕连续看了 20 小时之后,你将会发现大一点的缩进会使你更容易分辨缩
*进。
现在,有些人会抱怨 8 个字符的缩进会使代码向右边移动的太远,在 80 个字符的终端 屏幕上就很难读这样的代码。这个问题的答案是,如果你需要 3 级以上的缩进,不管用 何种方式你的代码已经有问题了,应该修正你的程序。
第一个图是4个缩进,第二个图是8个缩进。看起来第二个图很舒服,不是吗?
况且linux之父 Linus Torvalds也用八个缩进,8个缩进是linux内核专用缩进标准。
详情见https://www.kernel.org/doc/html/v4.13/translations/zh_CN/coding-style.html
理由:缩进的全部意义就在于清楚的定义一个控制块起止于何处。尤其是当你盯着你的 屏幕连续看了 20 小时之后,你将会发现大一点的缩进会使你更容易分辨缩
*进。
现在,有些人会抱怨 8 个字符的缩进会使代码向右边移动的太远,在 80 个字符的终端 屏幕上就很难读这样的代码。这个问题的答案是,如果你需要 3 级以上的缩进,不管用 何种方式你的代码已经有问题了,应该修正你的程序。
第一个图是4个缩进,第二个图是8个缩进。看起来第二个图很舒服,不是吗?
况且linux之父 Linus Torvalds也用八个缩进,8个缩进是linux内核专用缩进标准。
详情见https://www.kernel.org/doc/html/v4.13/translations/zh_CN/coding-style.html
相关文章推荐
- 为什么使用googletest,而不是其他C++测试框架(译自google faq的该问题)
- 为什么使用 SLF4J 而不是 Log4J 来做 Java 日志
- Eclipse中Tab的配置(设置为按一下Tab键,效果是按4次空格,而不是4个空格的缩进)
- 为什么在训练神经网络时候比较适合使用交叉熵错误率,而不是分类错误率或是均方差
- 为什么我们使用Nginx而不是Apache?
- 为什么要使用SLF4J而不是Log4J
- 为什么API多用C而不是C++,为什么C++程序大多不使用异常
- 为什么delegate属性使用delegate而不是retain?
- 为什么要使用SLF4J而不是Log4J
- 为什么使用if(0 == a)而不是if(a == 0)
- 为什么在Python里推荐使用多进程而不是多线程?
- JDBC为什么要使用PreparedStatement而不是Statement
- Android为什么要设计出Bundle而不是直接使用HashMap来进行数据传递?
- JDBC为什么要使用PreparedStatement而不是Statement
- 为什么要使用SLF4J而不是Log4J
- 为什么在Python里推荐使用多进程而不是多线程?
- 为什么RTP往往是使用UDP,而不是使用TCP封装
- 智能家居为什么使用ZigBee而不是433
- WPF:为什么使用ContentPresenter.ContentSource而不是Content属性?
- 为什么API多用C而不是C++,为什么C++程序大多不使用异常