代码规范
2023年6月11日 2025年5月20日
说明
.clang-format
.gitignore
- | |
---|---|
大括号 | 放在新行 |
缩进 | 使用空格 |
缩进、制表符和空格
缩进
indent
编写代码时, 按下Tab键, 会按制表符宽度留出空位, 用以控制格式
使用制表符 Tab
和空格填充缩进
制表符的宽度可设置, 不同平台制表符的宽度不一, 视觉上, 查看代码会有不习惯的感觉;可在本地设置使用空格, 即用空格替换制表符
缩进使用空格
示例: 缩进使用空格, 制表符宽度 TabWidth
无效;缩进宽度 IndentWidth
生效, 一次缩进对应7个空格
1IndentWidth: '7' 2UseTab: 'Never' 3TabWidth: '9'
缩进使用制表符和空格
若缩进宽度小于制表符宽度, 使用空格填充缩进; 若缩进宽度大于等于制表符宽度, 使用制表符和空格填充缩进
示例: 一次缩进对应7个空格, 不会被替换为制表符;两个缩进对应14个空格, 会被替换为1个制表符加5个空格
1IndentWidth: '7' 2TabWidth: '9' 3UseTab: 'Always'
格式化代码规则
.clang-format
YAML标记文件
作为项目的一部分, 描述管理代码文件的统一格式
每行遵循格式:
key: value
设置受约束的开发语言
1Language: Cpp
如果项目中只一种开发语言, 或者所有开发语言使用相同规范, 可忽略该配置
通用样式
一个制表符对应2个空格, 大括号在行尾
1BasedOnStyle: Google
Microsoft
一个制表符对应4个空格, 大括号在新行
1BasedOnStyle: Microsoft
制表符宽度
若缩进使用制表符, 每6个空格替换一个制表符;当缩进宽度和制表符宽度不一致时, 效果很糟糕
1TabWidth: '6'
缩进宽度
1IndentWidth: '4'
缩进样式
- 空格
1UseTab: Never
- 制表符: 源文件中既有空格又有制表符
1UseTab: Always
设置大括号位置
- 行尾
1BreakBeforeBraces: Attach
- 新行
1BreakBeforeBraces: Allman
显示时, 每行最大字符个数
为0时, 按输入的实际情况显示
1ColumnLimit: '140'
向前缩进
控制访问说明符的缩进
1AccessModifierOffset: '-4'
头文件排序
1SortIncludes: false
括号换行时, 参数的对齐方式
1AlignAfterOpenBracket: Align
- 不对齐
DontAlign
1someLongFunction(argument1, 2 argument2);
- 对齐
Align
1someLongFunction(argument1, 2 argument2);
当块较短时, 是否允许写在单行
1AllowShortBlocksOnASingleLine: false
- 条件语句的执行部分为空, 或只有一行语句时, 可认为语句较短;为false则如下输出
1while (true) 2{ 3} 4while (true) 5{ 6 continue; 7}
当If语句较短时, 是否允许写在单行
1AllowShortIfStatementsOnASingleLine: true
1if (true) return;
当函数语句较短时, 是否允许写在单行
- | |
---|---|
Inline | 若函数体为空, 允许;若函数在类内定义, 允许 |
InlineOnly | 只允许一种情况:函数在类内定义 |
Empty | 只允许一种情况:函数体为空 |
1AllowShortFunctionsOnASingleLine: Inline
指针和引用的对齐方式
1PointerAlignment: Right
Right
1int *a;
Left
1int* a;
Git仓库同步
.gitignore
告诉Git, 同步时忽略的文件和文件夹
命名约定
虚幻编辑器
虚幻编辑器 | ||
---|---|---|
材质 | Material | M_ |
材质实例 | Material Instance | MI_ |
基于C++的蓝图类 | Blueprint | BP_ |
动画蓝图 | Animation Blueprint | ABP_ |
混合空间(1D) | Blend Space | BS_ |
动画剪辑 | Animation Montage | AM_ |