Nm Conserve Code Quality Principles

🦀 简洁代码设计原则指南

应用KISS、YAGNI、SOLID原则指导代码设计,提供多语言实例与冲突处理策略,帮助开发者识别过度工程化并降低维护复杂度

收藏
3.4k
安装
991
版本
1.9.14
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本 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 -lrg 等命令行工具,将抽象原则转化为可量化的代码行数、类密度指标

4. 生态联动:与 karpathy-principles skill 形成互补,支持 night-market 插件体系的可扩展架构

潜在局限

  • 语言覆盖不均衡:示例以 Python 为主,Rust、TypeScript 仅有零星展示,Java、Go、C++ 等工业级语言缺失
  • 微服务/分布式场景薄弱:SOLID 示例集中在单体内聚设计,对服务拆分、事件驱动、最终一致性等现代架构模式涉及较少
  • 动态语言特化问题:Python/JS 等语言的鸭子类型特性,使得 Interface Segregation 等静态类型导向的原则适用边界模糊
  • 量化指标单一:仅提供行数统计,缺乏圈复杂度、耦合度、测试覆盖率等更精准的代码质量度量

适合人群

  • 初级至中级开发者建立系统设计直觉
  • 技术负责人制定团队代码规范与审查流程
  • 遗留系统重构前的"复杂度诊断"参考

常规风险

  • 教条化应用:过度追求 SOLID 可能导致"抽象爆炸",反而违背 KISS 初衷
  • YAGNI 误用:删除"当前未用"代码时,可能破坏为未来预留的扩展点(如插件接口)
  • 审查工具依赖:行数阈值(如 god class >500行)在领域模型、配置类等特殊情况可能误伤

建议将本 skill 作为对话式咨询工具而非硬性规范,结合具体业务上下文灵活裁量。

Nm Conserve Code Quality Principles 内容

手动下载zip · 4.6 kB
skill-card.mdtext/markdown
请选择文件