SuperAPI AI 工具集

code-checker

编程与开发

查看项目

更新于 10-16 07:28

技能介绍

用途:分析 C/C++ 代码的可维护性问题,包括超大文件、超大函数以及目录模块之间的循环依赖。

主要能力:

  1. 文件/函数体积分析,默认阈值为文件 2000 有效行、函数 50 有效行;有效行不含空行、注释和预处理指令。
  2. 循环依赖检测,解析 GN 构建文件(BUILD.gn、*.gni)中的 include 路径,按目录模块分组(src/ 与 include/ 视为同一组件),检测模块 A 包含 B、B 又包含 A 的情况。
  3. 扫描的文件扩展名包括 .c、.cpp、.cc、.cxx、.c++、.h、.hpp、.hh、.hxx、.h++、.inl、.inc。

使用方式: 体积分析:scripts/scan_cpp_size.py <path> [options],选项有 -o/--output <file> 输出报告、-f/--file-threshold <n> 文件阈值、-F/--function-threshold <n> 函数阈值。示例: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

工作流程:先确定扫描目标(未指定时询问目录或文件),再确定检查类型(体积分析、循环依赖或两者),执行脚本,展示报告并总结关键问题,最后询问是否需要重构帮助。发现问题后按影响排序,先处理最大的问题,阅读代码理解职责,并询问用户是否需要重构协助。重构参考:大函数见 references/refactoring.md,循环依赖见 references/circular-deps.md。

限制:资料未提供安装方式、运行环境依赖、支持平台及收费信息。