发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
打印
[资料干货]

编程排版风格与AStyle工具的使用

[复制链接]
707|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-2-10 11:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 forgot 于 2023-2-10 11:53 编辑

#申请原创#

   就类似于写文章一样,一个好的非常好编程代码排版可以让代码看起来更加漂亮,而且还可以提升代码的可读性,便于对代码的理解,特别是老的项目,好的排版以后自己看了更容易维护和纠错。排版主要用到的就是对齐、缩进空行和换行,然后就是不同编程风格对与括号的位置使用,还有注释和注释符号的一些应用,都会影响到排版的好坏。

  先说一下缩进,因为不同的编辑器,tab缩进还不一定一样,有些是8个空格,有些是4个空格,编写的时候可以用tab,也可以用空格键。数量要一致,大部分是用4个。而且有些人的部分代码是通过自动生成软件生成的,这种情况也可能会遇到缩进空格数量不一致的代码,应该也要统一掉。一般的都是在某段代码属于前一句代码内部的时候,需要进行代码缩进,以形成包含关系。

  对于空行,一般都是在相对独立的程序模块之间、变量说明之后,加空行。比如说变量声明之后,或者是每个函数中间的位置,应该加上1个空行,不好的排版有不加空行和加多个空行。而在遇到语句非常长的时候,就应该换行进行多行书写,并且应该在长表达式要在低优先级操作符处划分新行,操作符放在新行最前面,划分出的新行要进行适当的缩进,这样才最易读。另外如果是函数的参数比较长,也应该进行换行划分。

  代码应该尽量通过变量或者函数的命名让代码可读,在很难看懂代码含义的地方添加注释,不要过度注释。一行注释一般采用//…,多行注释必须采用 /*…*/,注释应与其描述的代码相近,对代码的注释应放在其上方或右方相邻位置,不要放在下面,如过放于上方,则需与其上面的代码用空行隔开,且与所描述的内容具有同样的缩进。程序中有效注释量控制在20%左右,太多的注释会让人眼花缭乱。并且在修改了功能代码之后,别忘了改注释说明,不然容易产品错误注释。

  在嵌入式开发中,特别是MDKsource insight下面,比较常用的自动排版工具就是Astyle了,这个软件可以自动对齐并且可以调整代码的编程风格。以我自己常用的MDK为例,说一下怎么使用。
1、先下载软件并且可以放在自己的MDK安装目录下。
2、打开MDK tools->customize tools menu,在menu content处可以新增几个指令名称,比方说allcurrent等等,表达的是全局排版还是当前排版。
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还有很多命令可以执行,大家自己可以去了解一下,篇幅有限这里就不一一说明了,希望能够帮助到大家提升代码排版美观度。

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 50.00 元 2023-03-13
理由:签约作者奖励

相关帖子

发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1762

主题

13158

帖子

55

粉丝