0. 背景
项目研发人员较多,每个人的编码格式不同,需要在团队中推动统一代码规范,提升代码质量。
之前golang项目的解决方案为,个人开发者本地编辑器配置自动格式化插件,并增加格式检查的CI。如果git push不符合格式规范,CI流程会失败,这需要本地格式化后才能提交。且个人编辑器的格式化插件配置可能不完全一致,为了避免浪费操作,期望在代码提交前自动化地格式化修改内容。
解决方案:使用clang-format结合git钩子(pre-commit)格式化c++
githook介绍可以参考文档: 自定义git-git钩子
1. 安装clang-format
- Linux
sudo apt install clang-format
- mac
brew install clang-format