mcpField
C
code-checker

code-checker

github.com/openharmonyinsight测试与质量3597 次安装11 周前更新
代码仓库

关于 code-checker

code-checker 是用于检查 C/C++ 代码可维护性问题的技能,面向需要审视代码规模和模块依赖的开发者。它可扫描超大文件与函数,并检测模块间的循环依赖。

主要功能

  1. 01分析文件和函数规模
  2. 02检测目录模块间循环依赖
  3. 03解析 GN 构建文件中的包含路径
  4. 04支持阈值设置和报告输出
  5. 05提供重构参考

适用场景

  1. 01定位超长源文件或函数
  2. 02检查模块间的循环包含
  3. 03生成代码检查报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openharmonyinsight/openharmony-skills --skill code-checker

安装后在 Claude Code 中输入/code-checker确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
circular-deps.md
refactoring.md
scripts/
circular_header_check.py
scan_cpp_size.py

详细介绍

C/C++ 代码检查器

分析 C/C++ 代码中的可维护性问题:过大的文件或函数,以及模块之间的循环依赖。

工作流

  1. 确定扫描目标 - 如果用户未指定文件或目录,请询问:“要扫描哪个目录或文件?”
  2. 确定检查类型 - 询问或推断要运行哪些检查:
    • 文件/函数大小分析
    • 循环依赖检测
    • 两者(完整分析的默认选项)
  3. 运行扫描 - 执行相应的脚本
  4. 呈现结果 - 展示报告并总结主要问题
  5. 提供帮助 - 询问用户是否需要重构协助

大小分析

扫描过大的文件和函数:

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 的情况

发现问题后

发现问题时:

  1. 按影响程度排序 - 先处理影响最大的问题
  2. 了解上下文 - 阅读代码以了解其职责
  3. 询问用户 - “需要我协助重构吗?”

重构指南

问题类型参考资料
大型函数references/refactoring.md
循环依赖参见 references/circular-deps.md

什么算“过大”?

类别默认阈值原因
文件2000 行有效代码难以浏览和理解
函数50 行有效代码超出认知负荷,难以测试

有效代码行不包括空行、注释和预处理指令。

扫描的文件扩展名

.c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++、.inl、.inc

评论

支持 Markdown