用途:审查代码中影响可测试性的设计模式,找出测试摩擦点并给出重构方向。该技能为只读审查,不修改任何代码,只读取、搜索并生成报告。
主要能力:识别关键反模式(业务逻辑内嵌 IO、构造函数执行副作用、全局可变状态、静态方法依赖、隐藏依赖),高摩擦模式(方法内硬编码实例化、深层依赖链、逻辑中混入异步、直接使用 Date.now()/Math.random()/process.env),以及中等和低等摩擦问题(接口过大、缺少接缝、依赖具体类型、隐式顺序依赖等)。
使用方式:先确定审查范围——用户指定文件或目录则审查这些路径;否则对比 origin/main 或 origin/master,使用 git diff origin/main...HEAD && git diff;范围不明确或无变更时先向用户确认。随后读取完整文件、分析依赖获取方式、IO 边界、状态与项目既有测试模式,再按可操作性过滤条件输出报告。报告包含范围、状态、总体评估,以及 Critical/High/Medium/Low 分级问题、位置、证据、影响和重构建议,最后给出前三项改进。
适用场景:适合在代码评审中检查业务逻辑(如定价、鉴权、校验)的可测试性,帮助团队将纯逻辑与 IO 分离、引入依赖注入。
限制:只读,不修改代码;默认仅报告本次变更引入的问题,除非用户明确指定路径;不报告 bug、覆盖率、类型安全、重复代码、过度设计、文档或 AGENTS.md 合规问题;需校准项目既有测试与依赖注入惯例,不强行要求项目引入 DI 框架;仅报告高置信度问题,不编造问题。