关于 code-checker
code-checker 是用于检查 C/C++ 代码可维护性问题的技能,面向需要审视代码规模和模块依赖的开发者。它可扫描超大文件与函数,并检测模块间的循环依赖。
主要功能
- 01分析文件和函数规模
- 02检测目录模块间循环依赖
- 03解析 GN 构建文件中的包含路径
- 04支持阈值设置和报告输出
- 05提供重构参考
适用场景
- 01定位超长源文件或函数
- 02检查模块间的循环包含
- 03生成代码检查报告
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill code-checker安装后在 Claude Code 中输入/code-checker确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/circular-deps.mdrefactoring.mdscripts/circular_header_check.pyscan_cpp_size.py详细介绍
C/C++ 代码检查器
分析 C/C++ 代码中的可维护性问题:过大的文件或函数,以及模块之间的循环依赖。
工作流
- 确定扫描目标 - 如果用户未指定文件或目录,请询问:“要扫描哪个目录或文件?”
- 确定检查类型 - 询问或推断要运行哪些检查:
- 文件/函数大小分析
- 循环依赖检测
- 两者(完整分析的默认选项)
- 运行扫描 - 执行相应的脚本
- 呈现结果 - 展示报告并总结主要问题
- 提供帮助 - 询问用户是否需要重构协助
大小分析
扫描过大的文件和函数:
scripts/scan_cpp_size.py <path> [options]
选项:
-o, --output <file>- 将报告写入文件-f, --file-threshold <n>- 大文件阈值(默认:2000 行有效代码)-F, --function-threshold <n>- 大函数阈值(默认:50 行有效代码)
示例:
scripts/scan_cpp_size.py ./src --file-threshold 1500 --function-threshold 40 -o size_report.md
循环依赖检测
检测目录模块之间的循环依赖:
scripts/circular_header_check.py <path> [options]
选项:
-o, --output <file>- 将报告写入文件-v, --verbose- 输出详细信息--no-gn- 跳过 GN 构建文件解析
示例:
scripts/circular_header_check.py ./src -o circular_report.md
循环依赖检查器:
- 解析 GN 构建文件(
BUILD.gn、*.gni)中的包含路径 - 按目录模块对文件分组(将
src/和include/视为同一组件) - 检测模块 A 包含模块 B 中的文件,而模块 B 又包含模块 A 的情况
发现问题后
发现问题时:
- 按影响程度排序 - 先处理影响最大的问题
- 了解上下文 - 阅读代码以了解其职责
- 询问用户 - “需要我协助重构吗?”
重构指南
| 问题类型 | 参考资料 |
|---|---|
| 大型函数 | references/refactoring.md |
| 循环依赖 | 参见 references/circular-deps.md |
什么算“过大”?
| 类别 | 默认阈值 | 原因 |
|---|---|---|
| 文件 | 2000 行有效代码 | 难以浏览和理解 |
| 函数 | 50 行有效代码 | 超出认知负荷,难以测试 |
有效代码行不包括空行、注释和预处理指令。
扫描的文件扩展名
.c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++、.inl、.inc
评论
支持 Markdown