我知道盲目地遵循任何“最佳实践”仍然会导致一堆严格遵守最佳实践的臭屁。SOLID 原则就是这样,原则。它们并不适用于所有情况,但它们仍然是很好的启发式方法,可以在代码中找到可能的改进。
它们的缺点是它们有时需要对您的源代码进行深入分析才能应用它们。我和大多数程序员一样,一直在寻找更有效的做事方式。所以,我很好奇是否有人听说过一种分析工具,它试图测试 SOLID 原则的应用(或缺乏)。
SRP 单一职责原则
一个类应该只有一个改变的理由。
OCP 开闭原则
软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
LSP 里氏替换原则
子类型必须可以替代它们的基本类型。
ISP 接口隔离原则
不应强迫客户依赖他们不使用的方法。接口属于客户端,而不属于层次结构。
DIP 依赖倒置原则
抽象不应依赖于细节。细节应该取决于抽象。
-来自 Robert C. Martin 的敏捷原则、模式和实践。