C++ 编码规范

基于 C++ Core Guidelines 的现代 C++ 编码助手,帮助你在编写或审查代码时遵循最佳实践。覆盖函数设计、类与继承、资源管理、错误处理、并发等核心主题,提供清晰的 DO/DON'T 示例与检查清单,让代码更安全、更易维护。

这个技能能帮你做什么

如果你在写 C++ 代码,或者需要审查别人的 C++ 代码,这个技能就是你的编码规范顾问。它基于 C++ Core Guidelines(C++ 官方推荐的最佳实践),覆盖了从基础到进阶的各个编码场景。

简单说,它能帮你:

  • 写出更安全的代码 —— 减少内存泄漏、空指针、数据竞争等常见问题
  • 提升代码可维护性 —— 统一团队风格,让代码更易读易懂
  • 审查代码质量 —— 对照规范检查现有代码的问题
  • 选择正确的语言特性 —— 什么时候用智能指针?什么时候用模板?给你明确建议

主要覆盖哪些主题

这个技能覆盖了 C++ 开发的方方面面,按主题组织成独立章节:

  1. 接口设计 —— 如何让函数签名清晰易懂,参数怎么传最合理(值传递还是引用传递?)
  2. 函数编写 —— 函数应该多长?什么时候用 constexpr?怎么返回值最优雅?
  3. 类与继承 —— 什么时候用 class 什么时候用 struct?构造函数怎么写最安全?虚函数该注意什么?
  4. 资源管理 —— 内存怎么管理最安全?智能指针(unique_ptrshared_ptr)该怎么用?
  5. 表达式与语句 —— 变量初始化、常量使用、类型转换的最佳实践
  6. 错误处理 —— 异常该怎么抛?怎么接?自定义异常类型怎么设计?
  7. 不可变性 —— 为什么尽量让变量不可变?constconstexpr 该怎么用?
  8. 并发编程 —— 多线程怎么写安全?锁怎么用才不出死锁?
  9. 模板与泛型 —— C++20 的 Concepts 怎么用?模板参数怎么约束?
  10. 标准库使用 —— 用 vector 还是 C 数组?string_view 什么时候用?
  11. 枚举与命名 —— enum classenum 的区别?命名风格怎么统一?
  12. 性能优化 —— 什么时候该优化?数据怎么存访问更快?

怎么用

写新代码时 —— 不确定某个写法对不对?问这个技能,它会给你 DO 和 DON'T 的对比示例

审查代码时 —— 把代码发给它,它会按照 C++ Core Guidelines 逐条检查,指出问题并给出修复建议

学习时 —— 想了解某个主题(比如"智能指针"或"并发安全")?直接问,它会给你清晰的概念讲解

交付什么

  • 原则性建议 —— 每条规则都附带"为什么这样更好"的解释
  • 对比示例 —— 推荐写法 vs 不推荐写法,一眼看出差别
  • 反模式清单 —— 常见错误和坑,提前告诉你哪些写法要避免
  • 快速检查清单 —— 完成代码后对照清单自检,确保没有遗漏

适用场景

  • 个人学习 C++ 现代最佳实践
  • 团队统一 C++ 编码风格
  • 代码审查(Code Review)时作为参考标准
  • 重构遗留 C++ 代码,升级到现代 C++ 风格

不适用场景

  • 非 C++ 项目(这个技能只针对 C++)
  • 纯 C 语言项目(部分现代 C++ 特性不适用)
  • 嵌入式/裸机场景(某些规范可能与硬件限制冲突)
v1.0.0 2026-07-17
下载