就类似于写文章一样,一个好的非常好编程代码排版可以让代码看起来更加漂亮,而且还可以提升代码的可读性,便于对代码的理解,特别是老的项目,好的排版以后自己看了更容易维护和纠错。排版主要用到的就是对齐、缩进空行和换行,然后就是不同编程风格对与括号的位置使用,还有注释和注释符号的一些应用,都会影响到排版的好坏。
先说一下缩进,因为不同的编辑器,tab缩进还不一定一样,有些是8个空格,有些是4个空格,编写的时候可以用tab,也可以用空格键。数量要一致,大部分是用4个。而且有些人的部分代码是通过自动生成软件生成的,这种情况也可能会遇到缩进空格数量不一致的代码,应该也要统一掉。一般的都是在某段代码属于前一句代码内部的时候,需要进行代码缩进,以形成包含关系。
对于空行,一般都是在相对独立的程序模块之间、变量说明之后,加空行。比如说变量声明之后,或者是每个函数中间的位置,应该加上1个空行,不好的排版有不加空行和加多个空行。而在遇到语句非常长的时候,就应该换行进行多行书写,并且应该在长表达式要在低优先级操作符处划分新行,操作符放在新行最前面,划分出的新行要进行适当的缩进,这样才最易读。另外如果是函数的参数比较长,也应该进行换行划分。
代码应该尽量通过变量或者函数的命名让代码可读,在很难看懂代码含义的地方添加注释,不要过度注释。一行注释一般采用//…,多行注释必须采用 /*…*/,注释应与其描述的代码相近,对代码的注释应放在其上方或右方相邻位置,不要放在下面,如过放于上方,则需与其上面的代码用空行隔开,且与所描述的内容具有同样的缩进。程序中有效注释量控制在20%左右,太多的注释会让人眼花缭乱。并且在修改了功能代码之后,别忘了改注释说明,不然容易产品错误注释。
在嵌入式开发中,特别是MDK和source insight下面,比较常用的自动排版工具就是Astyle了,这个软件可以自动对齐并且可以调整代码的编程风格。以我自己常用的MDK为例,说一下怎么使用。
1、先下载软件并且可以放在自己的MDK安装目录下。
2、打开MDK tools->customize tools menu,在menu content处可以新增几个指令名称,比方说all和current等等,表达的是全局排版还是当前排版。
3、分别在两个指令名称下面的command中调用AStyle.exe
4、在argument中填入命令符,如我平时用的:
all对应填的是"$E*.c" "$E*.h" --style=linux
current对应填!E --style=linux
这样两个指令就可以分别对全部代码和当前文件进行排版操作,采用的是linux编程风格。
如下面的代码中,switch语句里面 多个case不对齐,break;也不对齐,recv(0,buffer,len);与send(0,buffer,len);不对齐,send(0,buffer,len);前面多一个tab。并且大括号也是两种编程风格。
通过执行current命令后,可以看到代码排版变得整齐美观。
实际上Astyle还有很多命令可以执行,大家自己可以去了解一下,篇幅有限这里就不一一说明了,希望能够帮助到大家提升代码排版美观度。
---------------------
作者:forgot
链接:https://bbs.21ic.com/icview-3283082-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。