背景:了解SOLID的原理

我们将告诉您谁发明了它们以及它们是什么。让我们也谈谈对这种方法的批评-为何某些开发人员拒绝遵循SOLID方法。





照片- NESA - Unsplash



首字母缩写



SOLID-表示面向对象编程的前五个原理:





如果遵循此规则并构造类和函数,以使SOLID原则正确,那么您可能会获得健壮,易于理解且易于维护的代码。顺便说一下,这里有一些例子说明每个原理是如何工作的。



谁带来了SOLID



您可能已经猜到了,鲍勃叔叔负责了大部分原则他在2000年的《设计原则和设计模式》中对它们进行了全面描述,而缩写词SOLID则由工程师Michael Feathers提出。如果您有兴趣,Michael有一本书,他书中提供了有关如何“恢复”旧版系统并在整个过程中不会发疯的建议。





Photo- Oskar Yildiz -Unsplash



SOLID的任务是促进易于维护和随时间扩展的应用程序的开发。但是,这套准则经常遭到批评。



被批评的是什么



这些原则有时被称为“过于模糊”,这使得它们在实践中难以使用。程序员兼作家Joel Spolsky在StackOverflow播客之一中还指出SOLID方法论过于乌托邦主义,实际上迫使开发人员花时间在冗余代码上,这只是为了打个勾。



他认为,无需事先尝试考虑所有可能的情况,只需编程,逐步纠正缺点,而不必依赖虚构的“安全系统”。 Spolsky并未否定这些原则的重要性,但称其为过分的原则。



意见SOLID代码连贯性较弱,易于测试,但很难理解(批评使用“难以理解”一词)。程序员必须编写许多详细的接口和小类,这比帮助建立系统更加分散注意力和混乱。许多人都认为这句话是对的他们认为专注于代码的简单性足以使其他开发人员支持它。





照片-Kevin Canlas -Unsplash



Hacker News Topics发言而且架构,技术堆栈和项目依赖管理的选择更为重要,而不是构建其基础的基本原理。他们在这里再次指出了从集成系统设计开始的不必要的复杂性,指向YAGNI原则或“您将不需要它”。在某种程度上,这是经典KISS方法的另一种混搭



我们必须承认,有许多陈述是为了捍卫SOLID。因此,HN的一位居民表示,如果在抽象级别出现问题,遵循这些原则将有助于快速替换条件库。足以确保测试正在针对新的实现运行,仅此而已,最大的方法是另外检查类的旧版本的依赖项,并在必要时使用修改后的类,以使测试成功通过。这样,代码中就不会有“不必要的复杂性”,以后将要处理的人将不会面临所谓拒绝他人发展的综合症



重要的是要记住,SOLID原则仅是准则,而不是严格的规则。在某些情况下,最好还是坚持下去,什么时候退缩。






1cloud.ru:



— HTTP-

,

UTF-8






:









All Articles