C++ Code Review Master

Polar Sponsor
爱发电 赞助
.NET 9.0

组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。

C++ Code Review Master

功能概述

C++ Code Review Master是一项面向实际任务的技能,主要用于组合式 C++ 代码评审方案,整合静态分析、C++ 专项检查、多轮迭代评审与 AI 推理能力;C++ 专项关注点;

核心要点

  • 内存泄漏、悬垂引用、野指针、double-free、use-after-free;
  • 未定义行为;
  • 未初始化变量、数据竞争、整数溢出、类型双关;

使用与执行

RAII / 所有权;构造/析构顺序、智能指针误用、锁粒度;不必要的拷贝、临时对。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

C++ Code Review Master

组合式 C++ 代码评审方案,整合静态分析、C++ 专项检查、多轮迭代评审与 AI 推理能力。

架构

用户发起 C++ 代码评审
         │
         ▼
┌─────────────────────────┐
│  1. C++ 专项检查          │  ← cpp skill(内存安全、悬垂引用、UB、所有权)
│     + 静态分析预检         │  ← code-review-sr(本地 regex 预检)
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│  2. 三路并行 AI 评审       │  ← iterative-code-review(3 个 reviewer 并行)
│                           │
│   Reviewer-1 → 功能正确性  │
│   Reviewer-2 → 性能与内存  │
│   Reviewer-3 → 安全与最佳实践│
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│  3. 汇总 + 评分报告       │  ← modified-code-review(评分、性价比)
└────────────┬────────────┘
             │
             ▼
┌─────────────────────────┐
│  4. 可选自动修复          │  ← code-review-fix(自动修复 bug/安全/风格)
└─────────────────────────┘

评审维度

维度 C++ 专项关注点
内存安全 内存泄漏、悬垂引用、野指针、double-free、use-after-free
未定义行为 未初始化变量、数据竞争、整数溢出、类型双关
RAII / 所有权 构造/析构顺序、智能指针误用、锁粒度
性能 不必要的拷贝、临时对象、虚函数开销、内联建议
安全 缓冲区溢出、格式化字符串、指针运算、原始 new/delete
可读性 命名规范、头文件组织、模板复杂度、注释完整性
最佳实践 现代 C++(C++17/20/23)特性、constexpr、 Concepts

工作流程

Step 1 — 收集代码上下文

  • 用户指定文件、目录或 git diff
  • 检测是否 PR 场景(gh pr status / git log)
  • 判断增量审查还是全量审查

Step 2 — C++ 专项预检

执行本地静态分析(code-review-sr 的 regex 预检 + cpp skill 规则):

// 检测 C++ 常见问题模式
const cppPatterns = [
  { pattern: /news+w+s*[/, severity: 'high', type: 'memory', message: 'Consider using std::vector or smart pointers instead of raw new[]' },
  { pattern: /deletes+w+s*[/, severity: 'high', type: 'memory', message: 'Use RAII: prefer smart pointers or containers' },
  { pattern: /memcpys*(/, severity: 'medium', type: 'security', message: 'Check buffer sizes carefully; prefer std::copy or std::memmove for overlapping regions' },
  { pattern: /sprintfs*(/, severity: 'high', type: 'security', message: 'sprintf is unsafe; use snprintf or std::format (C++20)' },
  { pattern: /std::auto_ptr/, severity: 'medium', type: 'modern-cpp', message: 'std::auto_ptr is deprecated; use std::unique_ptr' },
  { pattern: /virtuals+w+s*([^)]*)s*consts*{s*returns+0s*;/, severity: 'medium', type: 'modern-cpp', message: 'Pure virtual should be = 0, not return 0' },
  { pattern: /mutables+w+;/, severity: 'low', type: 'concurrency', message: 'mutable member in const method; ensure thread safety if accessed from multiple threads' },
  { pattern: /#defines+w+s+w+/, severity: 'low', type: 'modern-cpp', message: 'Prefer constexpr or const variables over macros' },
];

Step 3 — 三路并行 AI 评审

启动 3 个独立 reviewer,每个关注不同维度:

  • Reviewer-1(功能正确性):逻辑错误、边界条件、断言、异常处理
  • Reviewer-2(性能与内存):内存分配、拷贝语义、算法复杂度、缓存友好性
  • Reviewer-3(安全与最佳实践):缓冲区安全、输入验证、C++ modern guidelines

Step 4 — 汇总报告

综合所有 reviewer 意见,输出统一报告:

## C++ Code Review Report

### 项目概览
- 评审范围:<文件/目录/diff>
- 评审模式:<全量/增量/PR>
- 评审时间:

### C++ 专项问题
| 严重性 | 类型 | 位置 | 问题描述 |
|--------|------|------|----------|
| 🔴 High | Memory | foo.cpp:42 | Raw new[] without corresponding delete[] |
| 🟡 Medium | UB | bar.cpp:87 | Uninitialized member variable |
| 🟡 Medium | Security | baz.cpp:23 | sprintf usage — buffer overflow risk |
| 🟢 Low | Modern C++ | utils.cpp:15 | Consider using std::string_view instead of const std::string& |

### 功能问题
...

### 性能问题
...

### 代码评分(百分制)
| 维度 | 得分 |
|------|------|
| 内存安全 | XX/100 |
| 逻辑正确性 | XX/100 |
| 性能 | XX/100 |
| 安全 | XX/100 |
| 可读性 | XX/100 |
| **总分** | **XX/100** |

### 修复优先级
1. [P0 - 必须修复] ...
2. [P1 - 强烈建议] ...
3. [P2 - 建议优化] ...
4. [P3 - 可选改进] ...

Step 5 — 自动修复(可选)

用户确认后,使用 code-review-fix 执行修复:

# 只检查
/cpp-review --security

# 审查并修复
/cpp-review --fix

# 学习模式
/cpp-review --explain

触发方式

命令 场景
/cpp-review 评审当前打开的 C++ 文件
/cpp-review 评审指定文件
/cpp-review --diff 评审当前 git diff
/cpp-review --pr 评审当前 PR
/cpp-review --fix 评审并自动修复
/cpp-review --full 全量项目评审

依赖的 Skills

Skill 用途
cpp C++ 专项规则(内存、UB、所有权)
code-review-sr 本地静态分析 + AI 深度评审
iterative-code-review 多轮迭代 + 多 reviewer 并行
modified-code-review 评分报告 + 性价比分析
code-review-fix 自动修复

限制与注意

  • 并发限制:同时最多 3 个 subagent 并行评审
  • 最大轮次:10 轮迭代(防止无限循环)
  • 安全模式:默认每步需用户确认,不会自动修改代码
  • 代码不外传:不向外部 API 发送时使用本地分析模式

相关专题

更多
C++游戏引擎核心架构与实时渲染优化实践
C++游戏引擎核心架构与实时渲染优化实践

本专题围绕 C++ 在游戏引擎开发中的核心技术展开,讲解渲染管线设计、内存管理优化、组件化架构以及实时渲染性能提升方法。通过实际引擎模块分析,帮助开发者掌握高性能游戏系统设计能力。

2026.06.22

266

16

C++单元测试与代码质量工具
C++单元测试与代码质量工具

讲解 C++ 项目的测试与质量保障工具链,涵盖 Google Test(gtest)的安装集成、ASSERT/EXPECT 断言宏、Test Fixture 测试夹具与参数化测试、Google Mock(gmock)的 Mock 类创建与 EXPECT_CALL 行为验证、Catch2 轻量测试框架对比、CTest 与 CMake 集成运行测试、gcov / lcov 代码覆盖率报告生成、Clang-Tidy 静态分析与自动修复、cpp

2026.05.15

580

30

C++ 跨平台开发与移植实践教程合集
C++ 跨平台开发与移植实践教程合集

讲解 C++ 项目实现跨平台兼容的核心技术与工程方法,涵盖预处理宏条件编译(_WIN32/linux/APPLE)、平台抽象层(PAL)封装文件系统/网络/线程差异、CMake 跨平台构建与工具链文件(Toolchain File)配置、交叉编译(Cross Compilation)环境搭建、字符编码(UTF-8/宽字符)跨平台处理、动态库/静态库的平台差异(dll/so/dylib)、CI/CD 多平台矩阵构建(GitHub Acti

2026.05.12

123

22

C++ 数据结构与算法实现教程合集
C++ 数据结构与算法实现教程合集

以 C++ 为实现语言,系统讲解核心数据结构与算法,涵盖链表(单链表/双链表/环检测)、栈与队列(单调栈/优先队列)、二叉树(遍历/BST/AVL/红黑树)、哈希表(开地址法/链地址法)、图(邻接表/BFS/DFS/Dijkstra/拓扑排序)、常见排序算法(快排/归并/堆排/计数排序)的实现与复杂度分析,同时分享 LeetCode 刷题技巧、竞赛编程常用模板(二分/前缀和/滑动窗口/动态规划),帮助开发者夯实算法基础。

2026.05.09

272

25

C++ 协程与异步编程(C++20)
C++ 协程与异步编程(C++20)

聚焦 C++20 引入的协程特性,讲解协程的底层模型(Promise Type / Coroutine Handle / Awaiter 三要素)、co_await 挂起与恢复机制、co_yield 生成器模式、co_return 协程返回值、自定义 Task / Generator 协程类型的设计与实现、协程与 io_uring / ASIO 异步 I/O 的结合、协程调度器的设计思路、与传统回调/Future 模式的对比优势,帮助开

2026.05.08

134

14

C++ 设计模式与架构实践教程合集
C++ 设计模式与架构实践教程合集

讲解经典设计模式在 C++ 中的高质量实现,涵盖创建型模式(单例的线程安全实现/工厂方法/抽象工厂/Builder)、结构型模式(适配器/装饰器/代理/CRTP 静态多态)、行为型模式(策略/观察者/命令/状态/访问者),结合智能指针、Lambda、模板等现代特性给出最优写法,同时讲解 SOLID 设计原则在 C++ 工程中的落地实践。

2026.05.08

130

32

四大语言C++、Go、Python与Java单元测试教程汇总
四大语言C++、Go、Python与Java单元测试教程汇总

横跨 C++、Go、Python、Java 四门语言,系统讲解单元测试与测试驱动开发(TDD)方法论,涵盖 Google Test(C++)的断言与测试夹具、Go testing 的表驱动测试与 testify 断言库、pytest(Python)的参数化测试与 fixture 机制、JUnit 5(Java)的注解体系与 Mockito 打桩框架,同时讲解 TDD 红-绿-重构循环、测试金字塔分层策略、Mock/Stub/Fake 测

2026.05.07

212

33

C++ 文件操作与序列化技术教程合集
C++ 文件操作与序列化技术教程合集

专题讲解了 C++ 中文件操作与数据序列化的完整方案,涵盖 fstream / ifstream / ofstream 文本与二进制文件读写、文件指针定位(seekg/seekp/tellg)、字符串流 stringstream 的格式转换应用、自定义结构体的二进制序列化与反序列化、nlohmann/json 库的 JSON 读写、RapidXML / TinyXML2 的 XML 解析、Protobuf / FlatBuffers /

2026.05.07

129

25

C++ Lambda 表达式与函数式编程
C++ Lambda 表达式与函数式编程

深入讲解 C++ Lambda 表达式与函数式编程范式,涵盖 Lambda 基础语法与返回值推导、值捕获与引用捕获的区别与陷阱、初始化捕获(C++14 广义捕获)、泛型 Lambda(auto 参数)、mutable 关键字修改捕获变量、std::function 类型擦除与函数包装、std::bind 参数绑定(及其被 Lambda 替代的趋势)、Lambda 在 STL 算法(sort/transform/for_each/remo

2026.05.06

329

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Conan 2 Essentials 免费课程
Conan 2 Essentials 免费课程

共0课时 | 0人学习

CMake 与 Conan 集成实践
CMake 与 Conan 集成实践

共0课时 | 0人学习

Conan 2 高级依赖模型介绍
Conan 2 高级依赖模型介绍

共0课时 | 0人学习