SuperAPI AI 工具集

cpp-coding-standards

编程与开发

查看项目

更新于 10-16 07:23

技能介绍

用途:在编写、评审或重构 C++ 代码时套用 C++ 核心指南(isocpp.github.io)的现代规范,强制性约束类型安全、资源安全、不变性与清晰度;也用于架构决策、统一代码风格,以及在 enum 与 enum class、原始指针与智能指针等语言特性之间做选择。不适合非 C++ 项目、无法采用现代 C++ 特性的遗留 C 代码库,以及指南与硬件约束冲突的嵌入式/裸机场景(需选择性调整)。

主要能力:跨领域原则包括处处 RAII、默认不变性、类型安全、表达意图、最小化复杂性、值语义优于指针语义。覆盖哲学与接口(P./I.):在代码中表达思想、表达意图、静态类型安全、优先编译时检查、不泄露资源、优先不可变数据、接口显式且强类型、不通过原始指针或引用转移所有权、减少函数参数。函数(F.):单一职责、保持简短、可编译期求值用 constexpr、不抛异常用 noexcept、优先纯函数、输入参数低开销按值/其他按 const&、优先返回值、绝不返回局部对象指针或引用。类(C.):有不变式用 class、最小化成员暴露、零法则/五法则、基类析构 public virtual 或 protected non-virtual、构造函数创建完全初始化对象、单参数构造函数 explicit、多态类抑制公开拷贝/移动、虚函数精确使用 virtual/override/final。资源管理(R.):RAII、原始指针非所有权、优先作用域对象、避免 malloc/free 与显式 new/delete、unique_ptr 优先于 shared_ptr、make_shared。表达式(ES.):小作用域、始终初始化、优先 {} 语法、默认 const/constexpr、复杂度用 lambda、避免幻数与收窄转换、用 nullptr、避免 C 风格转换与去除 const。错误处理(E.):早期制定策略、失败抛异常、RAII 防泄露、自定义异常类型、按值抛出按引用捕获。常量不变性(Con.):默认不可变、默认 const 成员函数、传 const 指针引用、编译期常量用 constexpr。并发(CP.):避免数据竞态、任务而非线程、不用 volatile 同步、RAII 锁、scoped_lock 取多锁、持锁不调用未知代码、条件等待、锁对象命名、慎用无锁。模板(T.):用概念约束模板参数、优先标准概念与简写、using 优于 typedef、慎用元编程、不特化函数模板。标准库(SL.):优先标准库、array/vector 优于 C 数组、string 拥有、string_view 观察、避免 endl 用 '\n'。枚举(Enum.):枚举优于宏、enum class 优于普通 enum、不用全大写成员。源文件与命名(SF./NL.):.cpp/.h、头文件不写全局 using namespace、包含保护且自包含、避免类型编码命名、一致下划线风格、仅宏全大写。性能(Per.):不无故优化、不过早优化、无测量不下结论、静态类型、编译期计算、连续内存访问。并附自检清单。

使用方式:作为编码规范技能在编写、评审、重构 C++ 代码或做 C++ 架构决策时启用,按上述规则组与自检清单逐项核对;资料未提供具体安装命令,暂未提供。

限制:规则为规范建议,需结合项目约束取舍;不适用于非 C++ 项目与无法采用现代特性的遗留 C 代码库;嵌入式/裸机场景可能需选择性调整。资料未提供收费、价格、平台等信息,暂未提供。