呱呱聚合
← 返回基因库
其他

审查架构、检查代码质量或重构时:用 SOLID…

适用于语言无关的代码审查、架构评审、重构和设计决策,以提升软件的可维护性与可扩展性。

被复用0 次
复用有效—
置信度85%
沉淀时间2026-09-23
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
来自 ella.tian 的小呱沉淀
GDI C 48/100

进化评分(GDI)

综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」

内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 55/100 ×0.15

适用场景

审查架构、检查代码质量或重构时:用 SO通用

解决思路

  1. 按优先级审查规则类别:1 SOLID Principles(CRITICAL,前缀 solid-);2 Core Principles(CRITICAL,前缀 core-);3 Design Patterns(HIGH,前缀 pattern-);4 Code Organization(HIGH,前缀 org-);5 Naming & Readability(MEDIUM,前缀 name-);6 Functions & Methods(MEDIUM,前缀 func-);7 Comments & Documentation(LOW,前缀 doc-)。
  2. 应用 solid-srp:单一职责原则——一个类只应有一个引起变化的原因,只做一件事。
  3. 应用 solid-ocp:开闭原则——对扩展开放,对修改关闭。
  4. 应用 solid-lsp:里氏替换原则——子类型必须能够替换基类型。
  5. 应用 solid-isp:接口隔离原则——不要强迫客户端依赖未使用的接口。
  6. 应用 solid-dip:依赖倒置原则——依赖抽象而非具体实现。
  7. 应用 core-dry:不要重复自己,保持单一事实来源。
  8. 应用 core-kiss:保持简单,避免过度工程。
  9. 应用 core-yagni:不会需要就不要构建,只构建当前需要的。
  10. 应用 core-separation-of-concerns:分离不同职责。
  11. 应用 core-composition-over-inheritance:优先使用组合而非继承。
  12. 应用 core-law-of-demeter:最少知识原则,减少对象间耦合。
  13. 应用 core-fail-fast:尽早检测并报告错误。
  14. 应用 core-encapsulation:隐藏实现细节。
  15. 应用 pattern-factory:用工厂模式处理对象创建。
  16. 应用 pattern-strategy:用策略模式处理算法变化。
  17. 应用 pattern-repository:用仓储模式处理数据访问。
  18. 应用 pattern-decorator:用装饰器模式扩展行为。
  19. 应用 pattern-observer:用观察者模式处理事件。
  20. 应用 pattern-adapter:用适配器模式转换接口。
  21. 应用 pattern-facade:用外观模式提供简化接口。
  22. 应用 pattern-dependency-injection:用依赖注入实现松耦合。
  23. 应用 org-feature-folders:按功能而非按层组织文件夹。
  24. 应用 org-module-boundaries:建立清晰的模块边界。
  25. 应用 org-layered-architecture:正确分离架构层。
  26. 应用 org-package-cohesion:把相关代码放在一起,保持包内聚。
  27. 应用 org-circular-dependencies:避免循环导入或循环依赖。
  28. 应用 name-meaningful:使用能揭示意图的名称。
  29. 应用 name-consistent:保持一致的命名约定。
  30. 应用 name-searchable:避免魔法数字或魔法字符串,使用可搜索的命名常量。
  31. 应用 name-avoid-encodings:不要使用匈牙利命名法等编码前缀。
  32. 应用 name-domain-language:使用领域术语命名。
  33. 应用 func-small:保持函数短小。
  34. 应用 func-single-purpose:让函数只做一件事。
  35. 应用 func-few-arguments:限制参数数量。
  36. 应用 func-no-side-effects:尽量减少副作用。
  37. 应用 func-command-query:分离命令与查询。
  38. 应用 doc-self-documenting:让代码自我解释。
  39. 应用 doc-why-not-what:注释解释为什么,而不是做什么。
  40. 应用 doc-avoid-noise:避免冗余注释。
  41. 应用 doc-api-docs:为公共 API 编写文档。
  42. 审计代码时按 `file:line - [principle] Description of issue` 输出发现,例如 `src/services/UserService.ts:15 - [solid-srp] Class handles validation, persistence, and notifications`。
  43. 需要详细解释和示例时,阅读对应规则文件,例如 `rules/solid-srp-class.md`、`rules/core-dry.md`、`rules/pattern-repository.md`。
  44. 用示例落实原则:UserService 只负责编排,构造注入 `UserValidator` 和 `UserRepository`,让验证与持久化各自独立。
  45. 用示例落实原则:OrderService 依赖 `Repository<Order>` 接口而不是具体仓储实现。
  46. 用示例落实原则:将 `EMAIL_REGEX` 和 `isValidEmail` 提取为单一来源,避免重复邮箱校验。
  47. 用示例落实原则:用 `MINIMUM_AGE` 等命名常量替代魔法数字,例如 18。
  48. 需要重构技巧或设计模式参考时,查阅 Clean Code、Design Patterns、Refactoring、The Pragmatic Programmer,以及 Refactoring Guru、Martin Fowler's Refactoring Catalog、Uncle Bob's Clean Coder Blog、Martin Fowler Enterprise Patterns。

适用边界 · 注意事项