复现已有算法

This commit is contained in:
cloud
2026-07-14 15:43:18 +08:00
parent abebd2a683
commit 50b8111fd9
860 changed files with 182250 additions and 18 deletions
+57
View File
@@ -0,0 +1,57 @@
---
name: cpp-coding-style
description: C/C++ 代码风格规范。用于本仓库 C/C++ 新增、修改、重构时,统一格式、命名、include 顺序和现代 C++ 用法。
---
# C/C++ 风格规范
## 基础约束
- 使用 `C++17`
- 4 空格缩进
- 大括号使用 K&R 风格
- 单行长度尽量不超过 100
## 命名规则
- 类型(`class/struct/enum`):`PascalCase`
- 函数/方法:`PascalCase`
- 普通变量:`snake_case`
- 成员变量:`snake_case_`
- 常量:`kPascalCase`
- 宏:`ALL_CAPS`
- 命名空间:小写
## include 顺序
1. 对应头文件
2. C 系统头
3. C++ 标准库
4. 第三方库
5. 项目内头文件
组间空一行。
## 代码习惯
- 单行 `if/for/while` 也加大括号
- 不使用 `using namespace std;`
- 优先 `constexpr``[[nodiscard]]`、RAII
- 优先 `static_cast`,避免 C 风格强转
- `auto` 只在不降低可读性时使用
## 注释与日志
- 注释优先说明"为什么",不是"做了什么"
- 保留高价值中文注释,不随手删除
- 强制包含 `#include "logger/Logger.hpp"`(或其相对路径)
- **统一使用流式日志宏**`LOG_DEBUGS()``LOG_INFOS()``LOG_WARNS()``LOG_ERRORS()`,通过 `<<` 拼接内容。严禁使用 `std::cerr`/`std::cout`、第三方日志原生接口或混用其他宏。
```cpp
// 正确:流式
LOG_ERRORS() << "SerialTransport: 无法打开串口 " << port_ << ": " << strerror(errno);
// 错误:传参格式
LOG_ERRORS("SerialTransport: 无法打开串口 {}: {}", port_, strerror(errno));
// 错误:原生输出
std::cerr << "SerialTransport: 无法打开串口" << std::endl;
```
- 日志风格沿用同模块既有前缀和语气