C++代码规范(持续更新)

细节:

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++ 代码,需要下载插件

  1. 在VS中点击 扩展 -> 搜索并安装插件"Format document on Save"
  2. 重启VS
  3. VS2019的clang-format版本为12.0,比如LambdaBodyIndentation: Signature这个键值不支持
  4. VS2022的clang-format版本为15.0

在Qtcreator中的配置方法:

  1. 帮助 -> 关于插件 -> 勾选 c++ 下的 Beautifier 和 ClangFormat 选项 -> 确定
  2. Preferences -> 左侧点击 Beautifier 选项
  3. 右侧"概要"页面 -> 勾选 “Enable auto format on file save”
  4. 右侧"Clang Format"页面 -> Clang format command: 选择本机路径下的 clang-format.exe
  5. 右侧"Clang Format"页面 -> Use predefined style -> 选择 File 选项
  6. (可选)Preferences -> 左侧点击 C++ 选项
  7. (可选)右侧"代码风格"页面 -> Formatting mode -> 选择Full formatting -> 勾选"Format While typing"和"Format edited code on file save"两项
  8. 编辑代码文件后保存 -> 代码自动格式化
QML部分(也包括JS支持)

仅支持基于Qt6.2及以上版本的Qtcreator
功能来源于Qt的qmlformat.exe,Qt提供了源码

  1. 单次使用:工具 -> QML/JS -> 重新格式化文件
  2. 定制:Preferences -> Qt Quick -> 代码风格 -> 可以将默认格式输出 -> 编辑导出的XML文件 -> 导入XML文件。 目前已经存放了一份qml_format.xml文件到代码文件夹下,需要手动导入(只修改了关于Line Length的限制)
  3. 保存时自动应用格式:Preferences -> Qt Quick -> QML/JS Editing -> 勾选Enable auto format on save
CMAKE部分

基于CmakeFormat,IDE中仅有VS Code支持,或通过命令行运行。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值