目录 / cpp-oop-style
cpp-oop-style
一套高质量的 C++ 面向对象编程(OOP)编码风格规约(继承 archibate / parallel101 风格体系),旨在替代 AI 默认生成的潦草 C++ 代码风格。其核心原则为:**在抽象类、数据类、值类型三者中明确选择其一,杜绝模糊不清的中间状态设计**。具体落实以下关键实践: - **依赖注入**:通过构造函数或接口注入依赖,提升可测试性与解耦; - **RAII 所有权管理**:严格遵循资源获取即初始化原则,明确资源生命周期与所有权语义; - **类型丰富的 API 设计**:利用强类型系统表达意图,避免 void* 或过度泛化; - **基于值的错误处理机制**:优先使用 std::expected、std::optional 或自定义结果类型,而非异常或错误码混合模式; - **命名反模式清单**:禁止使用模糊、缩写或误导性命名(如 `data`、`handle`、`manager` 等); 工程层面强调 **CMake 优先** 的项目布局,涵盖: - 模块化目标组织(target-based design); - 使用 `target_include_directories`、`target_compile_features` 等传递 usage requirements; - 第三方依赖的规范接入(FetchContent、find_package 或 vcpkg/conan 集成); - ABI 兼容性考量与版本控制; - 安装、打包(CPack)与应用部署流程标准化; 语言细节方面包括: - `const` 的正确用法(const 正确性、const 成员函数、const 引用传参); - 统一使用大括号初始化(brace initialization)避免窄化转换; - 单参构造函数必须标记 `explicit`; - 类型转换阶梯控制(避免隐式转换链); - 整型类型选择规范(优先使用 `int`、`size_t`、`std::ptrdiff_t`,避免裸 `long`/`unsigned`); - 断言(assert)与类不变量(class invariants)的显式表达; - 编译器警告清单(如 -Wall -Wextra -Wconversion -Wshadow 等)及对应修复策略; - 提供参考文档路由(如 C++ Core Guidelines、ISO C++ FAQ、特定风格指南链接); 适用于以下场景:编写、修改、重构或评审 C++ 代码;设计 C++ 类、接口、API 或库;用户提及 C++ 设计、OOP、设计模式、依赖注入、RAII 或现代 C++ 实践时。 触发关键词包括:C++、OOP、设计模式、依赖注入、RAII、CMake、代码风格。 > 淘宝搜索「AI灵匣」获取更多工具与资源支持。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-14 09:54 | d0c5c1a7 | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。