虽说目前市面上比较常见的几款IDE,如:VS、VSC、IDEA等,都用代码自动缩进的功能,但我们仍然需要养成一个良好的代码缩进习惯,特别是对于初学者来说。很多初学者可能不以为意,但一段高效且简洁的代码的可读性肯定是非常高的,而其中有一半的因素就是代码缩进。所以我将对一些常见的缩进错误做一些讲解,以及代码应当如何缩进。
因为我常用的C语言,同时也是我觉得萌新在代码编写中缩进最差的语言,所以本博文将会以它为例。
先来看一张图
这张图中画圈的地方是有问题的,这连个地方的缩进我们完全可以把括号与前面的if语句对齐(这张图来自我的编程交流群, 如有冒犯或侵权,请联系我)。当然,这种错误的缩进对可读性产生的影响并不是很大,但接下来这张图就不一样了。
这张图对于一些萌新来说可能会有一点既视感,因为我常在交流群中遇到这种代码,将代码全部与前面的某个地方对齐。这种缩进方式让代码的可读性很低,但有些萌新可能觉得很正常,能看清楚,那么我们将它与下图作对比。
很明显,scanf和printf函数究竟是处于哪个块(打括号)中变得一目了然,即使是视觉上也舒适了很多。但可能还有些萌新觉得这样做没必要,很麻烦。让你们这么想地其中一个原因,是你们使用的IDE的问题,比如VC++6.0,这个IDE甚至连代码不全都非常不完善(我也不推荐使用这个IDE,我更推荐初学者使用dev,而且不推荐直接就用VS),当然这只是次要的,更加重要的,是当你们写上了几百行甚至更多代码时
以这样图中的代码为例,这样的缩进让代码变得层次分明,可读性很高,也更能方便我们后续对代码的修改。
最后来讲讲该怎么缩进。一般的缩进,都以一个Tap键(4个空格)为基本单位,我也为它的常用方法总结了以下几点:
1、凡是在块(打括号)中的代码都要进行一次缩进,且块(打括号)应当与上一条语句对齐
2、goto语句的标签同意向前做进一个单位
3、case标签下的语句统一向后缩进一个单位
4、如果某条语句因为参数太多而太长,可以将参数换行带入,但后续的参数应当至少与函数向后缩进一个单位
目前市面上大部分的IDE都有自动缩进的功能,比如VS在一条语句输入结束后能自动缩进,但对于dev等一些IDE却就只能自己一个Tap一个Tap的按了。其实大可不必,dev是有自己的自动缩进方法的,快捷键:Ctrl+Shift+A,也能设置缩进选项,其他的大部分IDE也都有,大家可以自行百度。