深入理解设计原则之KISS/YAGNI/DRY原则【软件架构设计】

系列文章目录

C++高性能优化编程系列
软件架构设计系列
深入理解设计模式系列
高级C++并发线程编程
在这里插入图片描述
如果敌人使你生气,说明你没有胜过他的信心。
If the enemy makes you angry, that means you have no more than his confidence.

SOLID原则见博文深入理解设计原则讲解!

KISS原则

  • 系列文章目录
  • 1、KISS原则的定义和解读
    • 1.1、如何写出满足KISS原则的代码
  • 2、YAGNI原则的定义和解读
    • 2.1、如何写出满足YAGNI原则的代码
  • 3、DRY原则的定义和解读
    • 3.1、如何写出满足DRY原则的代码
  • 4、小结

1、KISS原则的定义和解读

KISS原则是“尽量保持简单(Keep It Simple, Stupid)”的缩写。它是一个“万金油”一样的的设计原则,旨在使设计或产品易于理解、易于使用和易于维护,同时减少复杂性和不必要的功能。这个原则可以应用于各种领域,包括软件开发、网站设计、商业策略、营销和个人生活。

我们知道,代码的可读性和可维护性是衡量是衡量代码质量的两个重要的标准。而KISS原则就是保持代码可读性和可维护性的重要手段。代码足够简单,也就意味着容易读懂,bug比较难隐藏。即便出现bug,修复也比较简单。

不过,KISS原则只是告诉我们,要保持简单,但并没有讲什么样的代码才算得上简单,更没有给出明确的方法来指导如何开发简单的代码。因此,KISS原则虽然简单,但不太容易落地。

1.1、如何写出满足KISS原则的代码

保证代码的可读性、可维护性(逻辑清晰,更好理解)。

(1)慎重使用过于复杂的技术来实现代码,如复杂的正则表达式、编程语言中过于高级的语法等。
(2)不要“重复造轮子”,首先考虑使用已有的类库。根据以往经验,如果自己实现的类库,那么产生的bug的概率更高,维护成本也更高。
(3)不要过度优化。尽量避免使用一些“奇技淫巧”(如使用位运算代替算数运算、使用复杂的条件语句代替if-else等)来优化代码。

2、YAGNI原则的定义和解读

YAGNI原则是You Ain’t Gonna Need It的缩写,用在软件开发时,其含义是不要去设计当前用不到的功能;不要去编写当前用不到的代码。实际上,这条原则的核心思想是:不要过度设计。也称得上是“万金油”一样的设计。它是敏捷开发方法中的一项原则,指出在开发过程中,不要去设计或实现不需要的功能。这个原则的目的是避免花费过多的时间和精力在开发无用代码上,从而提高开发效率和代码质量。因此,如果你不确定是否需要某个功能,可以先不去实现它,等到真正需要的时候再考虑。

2.1、如何写出满足YAGNI原则的代码

(1)留好扩展点,先不去写未来实现的功能,再需要引入未来功能时,能够在不修改太多代码的情况下完成扩展。
(2)不要在项目中引入不需要的开发包。

3、DRY原则的定义和解读

DRY原则(Don’t Repeat Yourself)指的是在编程中避免重复代码、重复逻辑和重复数据,并尽可能地将这些内容抽象化和封装化。DRY原则的核心思想是将相同的代码或逻辑放在一个地方,避免在不同的地方重复编写相似的代码,以避免在未来的维护或修改中产生不一致性和错误。这种原则有助于提高代码的可读性、可重用性和可扩展性。

3.1、如何写出满足DRY原则的代码

(1)避免代码逻辑重复
(2)避免功能语义重复 - 存在两个功能相同的函数
(3)避免代码执行重复

4、小结

KISS原则讲的是“如何做”(尽量保持简单)
YAGNI原则讲的是“要不要做”(当前不需要的,就不要做)
DRY原则讲的是“不要重复做

你可能感兴趣的:(系统架构设计,c++,KISS原则,软件架构,设计原则)