SuperAPI AI 工具集

complexity-optimizer

通用与其它

查看项目

更新于 10-15 23:44

技能介绍

用途:分析软件代码库的算法复杂度与性能热点,提出或实施不破坏行为的优化。核心规则是仅在理解并能保留现有行为时优化,优先小范围、有测试验证的改进,而非正确性不明的重写。

主要能力:默认在用户要求分析、扫描、审计、审查或生成报告时自动产出完整复杂度报告,无需用户指定字段。报告包含分析范围与检测到的技术栈/测试命令、按影响排序的主要发现、文件与行号、当前模式及潜在代价、当前复杂度估计、建议改动、改动后复杂度估计、风险等级、所需测试/基准/人工检查,并明确说明未修改文件(除非用户明确要求实施)。

使用方式:先建立基线,识别语言、框架、测试与构建命令及性能敏感路径,检查现有测试;扫描仓库时可运行 scripts/analyze_complexity.py <repo> 获取首轮热点列表,支持 --format markdown 或 --format json。随后排序优化机会,区分算法复杂度与常数因子清理,扫描器输出仅作线索。证明行为时定位或添加聚焦测试,覆盖空输入、重复、排序稳定性、空值、错误、权限、分页、时区与变更副作用等边界。保守优化包括用映射/集合替换重复线性查找,在数据形态支持时用索引、分组、双指针、扫描线、二分、记忆化、批处理或预计算替换嵌套扫描;UI 代码减少不必要渲染;数据访问消除 N+1。最后运行相关测试与类型/检查/构建命令,必要时添加微基准并报告前后复杂度、改动文件、已运行测试与残余风险。

适用场景:需要审计代码库性能、定位热点、评估复杂度并安全优化的开发与审查流程。

限制:扫描器仅覆盖 Python、JavaScript、TypeScript、JSX/TSX、Java、Go、C、C++、C#、Ruby、PHP、Swift 等文件中的常见模式,偏向可读线索而非完美静态分析;若扫描无结果仍需手动检查已知热点。编辑前需确认数据规模足够大、保留输出顺序、对象标识与可变性、缓存失效策略、去重不合并不同记录、数据库批处理保留租户/权限/软删除/分页/排序约束。若测试缺失且行为不明确,应做最小重构或先询问预期行为。具体安装方式、收费与价格信息暂未提供。