🔧 chore(standards): sync cpp rules and gitattributes
This commit is contained in:
parent
488785f08f
commit
f204115823
|
|
@ -4,12 +4,15 @@
|
||||||
|
|
||||||
## 1. 总体要求
|
## 1. 总体要求
|
||||||
|
|
||||||
- C++ 代码遵守 `docs/cpp/code_style.md` 与 `docs/cpp/naming.md`(在目标项目中通常 vendoring 到标准快照路径)。
|
- C++ 代码遵守 `docs/cpp/code_style.md` 与
|
||||||
- 统一使用 `clang-format`(Google 基线)保持格式一致;不要手工“对齐排版”制造 diff 噪音。
|
`docs/cpp/naming.md`(在目标项目中通常 vendoring 到标准快照路径)。
|
||||||
|
- 统一使用
|
||||||
|
`clang-format`(Google 基线)保持格式一致;不要手工“对齐排版”制造 diff 噪音。
|
||||||
- 改动聚焦目标;避免“顺手重构”。
|
- 改动聚焦目标;避免“顺手重构”。
|
||||||
- API 变更要显式说明影响与迁移方式。
|
- API 变更要显式说明影响与迁移方式。
|
||||||
- 涉及三方依赖(例如 Conan)的改动必须说明动机、替代方案与影响面;默认不“顺手升级依赖”。
|
- 涉及三方依赖(例如 Conan)的改动必须说明动机、替代方案与影响面;默认不“顺手升级依赖”。
|
||||||
- 涉及 C++ Modules 的改动(`.cppm` 或 `export module` 变更)必须同步更新构建系统的模块清单与相关 target 配置。
|
- 涉及 C++ Modules 的改动(`.cppm` 或 `export module`
|
||||||
|
变更)必须同步更新构建系统的模块清单与相关 target 配置。
|
||||||
|
|
||||||
## 2. 可读性
|
## 2. 可读性
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,18 @@
|
||||||
## C++ 必要约定(必须遵守)
|
## C++ 必要约定(必须遵守)
|
||||||
|
|
||||||
- 语言标准:C++23(含 Modules)。
|
- 语言标准:C++23(含 Modules)。
|
||||||
- 格式化:统一使用 `clang-format`(Google 基线);避免手工排版对齐造成 diff 噪音。
|
- 格式化:统一使用
|
||||||
|
`clang-format`(Google 基线);避免手工排版对齐造成 diff 噪音。
|
||||||
- 文件与命名:遵守 `docs/cpp/` 下的规范(或目标项目 vendoring 的标准快照路径)。
|
- 文件与命名:遵守 `docs/cpp/` 下的规范(或目标项目 vendoring 的标准快照路径)。
|
||||||
- Modules:module 名建议使用点分层级;每段用 `lower_snake_case`;module interface unit 推荐 `.cppm`。
|
- Modules:module 名建议使用点分层级;每段用 `lower_snake_case`;module
|
||||||
- Modules 工程:新增/删除/重命名 `.cppm` 或修改 `export module` 时,必须更新 CMake target 的模块 file-set/清单(否则构建容易漂移)。
|
interface unit 推荐 `.cppm`。
|
||||||
- Windows:不支持原生 Windows 开发环境;Windows 产物通过 Linux + Clang 交叉编译 profile 验证(profile 的 `[settings] os=Windows`)。
|
- Modules 工程:新增/删除/重命名 `.cppm` 或修改 `export module`
|
||||||
- 依赖管理(如使用 Conan):必须提供统一 preset(`conan-release`/`conan-debug`);优先通过 `conan install` + `cmake --preset ...` 验证;如遇 Conan 家目录权限问题可临时设置 `CONAN_HOME=/tmp/conan-home`。
|
时,必须更新 CMake target 的模块 file-set/清单(否则构建容易漂移)。
|
||||||
|
- Windows:不支持原生 Windows 开发环境;Windows 产物通过 Linux +
|
||||||
|
Clang 交叉编译 profile 验证(profile 的 `[settings] os=Windows`)。
|
||||||
|
- 依赖管理(如使用 Conan):必须提供统一 preset(`conan-release`/`conan-debug`);优先通过
|
||||||
|
`conan install` + `cmake --preset ...`
|
||||||
|
验证;如遇 Conan 家目录权限问题可临时设置 `CONAN_HOME=/tmp/conan-home`。
|
||||||
|
|
||||||
## 与开发规范的关系
|
## 与开发规范的关系
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,3 +83,6 @@ CMakePresets.json text eol=lf
|
||||||
*.tar binary
|
*.tar binary
|
||||||
*.exe binary
|
*.exe binary
|
||||||
# END playbook .gitattributes
|
# END playbook .gitattributes
|
||||||
|
|
||||||
|
# Added from playbook .gitattributes (source: docs/standards/playbook/.gitattributes)
|
||||||
|
*.bat text eol=crlf
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue