工欲善其事,必先利其器。
下面我们来讲工具系列的第二篇-代码格式化
这一篇主要针对c/c++开发者,其它语言因为本身开发经验不多,这里不讨论
大家应该都有过这样的经历:
-
自己写的代码风格不一致,代码缩进用空格还是TAB,大括号对齐方式,变量与操作符间是否有空格等等;
- 在参考他人的代码段落时发现对方的代码与自己的习惯差异很大,有强迫症的话会手动去修改,费时费力;
-
在多人开发的时候,每个人的编程习惯都可能不一样,导致项目的代码风格不一致;
- 可能使用了代码格式化工具,比如一般IDE自带的格式化工具,但是有的时候会忘记操作,或者在实用不同IDE或者编辑器的时候会发现格式化的方法不一样。
在开始开发的几年经常遇到这样的困扰,后面接触了PX4的代码格式化脚本,一切都变得简单了。
PX4的格式化脚本,位于PX4源码的Tools/astyle目录下,它的目录结构为:
.
├── astylerc # 代码格式配置文件
├── check_code_style_all.sh # 检查所有源码代码格式脚本
├── check_code_style.sh # 检查输入指定文件源码代码格式脚本
├── files_to_check_code_style.sh # 制定需要检查源码文件范围
├── fix_code_style.sh # 代码格式化脚本
└── pre-commit # git提交钩子脚本,在git commit时调用,用于执行代码检查脚本
用法:
# 对全部源码检查格式
./Tools/astyle/check_code_style_all.sh
# 格式化全部源码
./Tools/astyle/check_code_style_all.sh --fix
第一次运行这个脚本的时候,会有一个安装astyle工具的提醒,这是一个代码格式化工具,这个脚本正是借用的这个工具实现的。
同时会自动安装一个git钩子脚本(hook script ),这是一个非常实用的工具,它的作用是在git commit时会自动调用这个代码格式检查脚本,检查提交的代码是否符合规范,保证提交的代码是规范的。这样就可以保证不会存在代码不规范的情况
代码格式配置:
每个人的代码习惯不一致,可以根据自己的习惯去修改配置,由于这个脚本是使用astyle工具进行代码格式化,可以很方便的进行重新配置
配置脚本在Tools/astyle/astylerc中,具体的配置方式,大家自行查看astyle的帮助吧
添加无需格式化目录
在移植整个第三方库的时候,我们可能不希望去格式化这个库源码,这个时候可以把它添加到不检查格式列表中,它的目录在Tools/astyle/files_to_check_code_style.sh
移植这个脚本到自己的项目中
移植这个脚本就是很简单的事情了,只需要复制整个目录到自己的工程项目中,修改Tools/astyle/files_to_check_code_style.sh文件中关于几个目录的配置即可。
–
我的微信公众号,文章同步更新,欢迎关注。