用途:codeprobe-solid 是 codeprobe 技能集中的一个子技能,专门审计代码是否违反 SOLID 五项原则:单一职责(SRP)、开闭(OCP)、里氏替换(LSP)、接口隔离(ISP)和依赖倒置(DIP)。
主要能力:按原则分类检测违规信号并标注严重程度。SRP 检测类有 5 个以上不相关公共方法、方法超过 30 行且涉及多职责、类名含糊(如 Manager、Handler、Utils)、构造函数依赖 5 个以上等。OCP 检测基于类型或状态的 switch/if-else 链、缺少扩展点。LSP 检测子类覆写改变语义、抛出父类未声明的异常、空实现或忽略父类行为、多态调用后仍做 instanceof 类型检查。ISP 检测接口方法达 8 个以上、实现类留空或抛未实现异常、接口含多组不相关方法。DIP 检测业务逻辑中直接 new 具体类、高层模块直接导入基础设施层、静态调用具体依赖。
使用方式:作为独立模式直接调用时,需先读取 ../codeprobe/shared-preamble.md(相对本 SKILL.md 所在位置解析,即同级 codeprobe 技能目录,而非用户项目),以获取输出契约、执行模式与约束;再根据项目技术栈从 ../codeprobe/references/ 加载适用参考文件。除非用户另有指定,默认使用 full 模式。
发现编号:按前缀 SRP-、OCP-、LSP-、ISP-、DIP- 顺序编号,如 SRP-001、OCP-001。修复提示示例包括:将支付逻辑抽取为 PaymentService 并通过构造函数注入;用策略模式替换类型 switch;用构造函数注入替换直接实例化具体连接类。
不标记的情况:多字段的简单 DTO/值对象、无需依赖注入的小脚本与 CLI、稳定封闭枚举的 switch、遵循框架约定的框架生成类、聚合测试工具的测试辅助类。
限制:资料未提供安装命令、收费方式、支持平台或运行环境要求。