核心用法
本 skill 是一套面向软件工程实践的代码质量指导框架,主要服务于设计评审、架构重构和代码审查场景。它系统性地整合了三大经典原则家族:
- KISS(Keep It Simple, Stupid):对抗"聪明代码"陷阱,主张显式优于隐式、直接优于抽象
- YAGNI(You Aren't Gonna Need It):拦截"为未来编程"的冲动,要求至少出现3个用例才引入抽象
- SOLID:面向对象设计的五大支柱(单一职责、开闭、里氏替换、接口隔离、依赖倒置)
skill 采用原则-反模式-修复示例的三段式结构,覆盖 Python、Rust、TypeScript 等主流语言。每个原则配备"快速检查问题"和"红旗信号"表格,便于代码审查时快速扫描。
显著优点
1. 场景化决策指南:明确列出"何时使用/何时不用",避免原则滥用——例如提醒性能关键代码可以牺牲可读性
2. 冲突消解机制:专设章节处理原则间的张力(如 KISS 与 SOLID 的权衡、YAGNI 与 DIP 的矛盾),提供具体决策阈值(如"2+实现才抽象")
3. 可操作的审查清单:集成 wc -l、rg 等命令行工具,将抽象原则转化为可量化的代码行数、类密度指标
4. 生态联动:与 karpathy-principles skill 形成互补,支持 night-market 插件体系的可扩展架构
潜在局限
- 语言覆盖不均衡:示例以 Python 为主,Rust、TypeScript 仅有零星展示,Java、Go、C++ 等工业级语言缺失
- 微服务/分布式场景薄弱:SOLID 示例集中在单体内聚设计,对服务拆分、事件驱动、最终一致性等现代架构模式涉及较少
- 动态语言特化问题:Python/JS 等语言的鸭子类型特性,使得 Interface Segregation 等静态类型导向的原则适用边界模糊
- 量化指标单一:仅提供行数统计,缺乏圈复杂度、耦合度、测试覆盖率等更精准的代码质量度量
适合人群
- 初级至中级开发者建立系统设计直觉
- 技术负责人制定团队代码规范与审查流程
- 遗留系统重构前的"复杂度诊断"参考
常规风险
- 教条化应用:过度追求 SOLID 可能导致"抽象爆炸",反而违背 KISS 初衷
- YAGNI 误用:删除"当前未用"代码时,可能破坏为未来预留的扩展点(如插件接口)
- 审查工具依赖:行数阈值(如 god class >500行)在领域模型、配置类等特殊情况可能误伤
建议将本 skill 作为对话式咨询工具而非硬性规范,结合具体业务上下文灵活裁量。