细节:
1.一般双目运算符前后加空格
2.for循环中++i而不要用i++
3.==比较时变量写在右侧,常量写在左侧
4.函数、变量名采用驼峰命名
5.每行缩进4个空格或等长Tab
6.多条语句不要写在一行
7.变量和函数明要具有足够的辨识度以便查找,但是又不能太长,可以用单词缩写组成。
8.采用静态代码检查工具检查代码
9.未完成的代码段用“//TODO”注释
10.析构函数一般定义为虚函数
注释:
1.头文件顶部写版本、日期、人员等描述信息
2.函数声明上方加注释,推荐使用Qtcreator中的快捷添加方式
提交:
1.提交代码时描述信息要分类、每一项用方括号加类型作为前缀,例如:
1.【新增】XXX
2.【bug修正】XXX
2.初级开发人员不直接合并代码到主分支,而是提交合并申请,由高级开发人员进行合并到主分支的操作。
中文与文件编码:
1.c++代码中原则上不出现中文
2.Windows上开发代码,c++代码文件需要保存为utf8+BOM(签名)编码 【Windows】
3.代码中中文应尽量只出现在Qt的QObject派生类成员函数中,且以tr(u8“”)包裹,例如tr(u8"中文") 【Qt】
4.如果中文一定要出现在非QObject类中,应以QString::fromLocal8Bit包裹 【Qt】
IDE扩展
在IDE中通过扩展自动进行代码格式调整,例如空格、换行等
C++部分
基于.clang-format文件,可设置项参考文档
Visual Studio中默认启动,但仅适用于 C# 和 VB.Net,不适用于 C++ 代码,需要下载插件
- 在VS中点击 扩展 -> 搜索并安装插件"Format document on Save"
- 重启VS
- VS2019的clang-format版本为12.0,比如LambdaBodyIndentation: Signature这个键值不支持
- VS2022的clang-format版本为15.0
在Qtcreator中的配置方法:
- 帮助 -> 关于插件 -> 勾选 c++ 下的 Beautifier 和 ClangFormat 选项 -> 确定
- Preferences -> 左侧点击 Beautifier 选项
- 右侧"概要"页面 -> 勾选 “Enable auto format on file save”
- 右侧"Clang Format"页面 -> Clang format command: 选择本机路径下的 clang-format.exe
- 右侧"Clang Format"页面 -> Use predefined style -> 选择 File 选项
- (可选)Preferences -> 左侧点击 C++ 选项
- (可选)右侧"代码风格"页面 -> Formatting mode -> 选择Full formatting -> 勾选"Format While typing"和"Format edited code on file save"两项
- 编辑代码文件后保存 -> 代码自动格式化
QML部分(也包括JS支持)
仅支持基于Qt6.2及以上版本的Qtcreator
功能来源于Qt的qmlformat.exe,Qt提供了源码
- 单次使用:工具 -> QML/JS -> 重新格式化文件
- 定制:Preferences -> Qt Quick -> 代码风格 -> 可以将默认格式输出 -> 编辑导出的XML文件 -> 导入XML文件。 目前已经存放了一份qml_format.xml文件到代码文件夹下,需要手动导入(只修改了关于Line Length的限制)
- 保存时自动应用格式:Preferences -> Qt Quick -> QML/JS Editing -> 勾选Enable auto format on save
CMAKE部分
基于CmakeFormat,IDE中仅有VS Code支持,或通过命令行运行。