代码规范
2023年6月11日 2024年1月11日
说明
.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_ |