KISS principle (kiss原则)

Keep It Simple Stupid (KISS)

原则声明

即使解决方案看起来很愚蠢,简单的解决方案也比复杂的解决方案好。

描述

该KISS原则是关于追求简单。现代编程语言,框架和API具有强大的手段来创建针对各种问题的复杂解决方案。有时,开发人员可能会想编写使用所有这些复杂功能的“聪明”解决方案。该KISS原则指出,一个解决方案是更好的时候,使用更少的继承,多态少,少类等。

遵循KISS原则的解决方案可能看起来很无聊甚至“愚蠢”,但简单易懂。该KISS原则指出,有一个解决方案没有价值是“聪明”,但一个是很容易理解的。

这并不意味着根本不应该使用诸如继承和多态性之类的功能。相反,仅应在必要时使用它们或有一些实质性优势

基本原理

简单的解决方案比复杂的解决方案好,因为简单的解决方案更易于维护。这包括提高的可读性,可理解性和可变性。此外,编写简单的代码不太容易出错。

如果维护软件的人不是曾经编写软件的人,那么简化的优势就更大了。维护人员可能还不太熟悉复杂的编程语言功能。因此,简单而愚蠢的程序易于维护,因为维护人员需要较少的时间来理解它们,并且不太可能引入进一步的缺陷。

创建更复杂的代码的原因之一是使其更加灵活,以适应进一步的需求。但是人们不知道以什么方式使其具有灵活性,或者是否曾经需要这种灵活性。

“当您使代码比所需的更加灵活或复杂时,您将对其进行过度的设计。有些人这样做是因为他们相信自己知道系统的未来要求。他们认为最好使当今的设计更灵活或更复杂,以便能够满足明天的需求。如果您碰巧是通灵者,那听起来很合理。” -重构为模式-Joshua Kerievsky。

创建更复杂的代码的另一个原因是进行优化。优化的代码是更复杂的代码。Pareto principle.帕累托原理 也适用于代码:程序大部分时间都花在代码的一小部分上,因此将精力集中在仅优化部分代码上是明智的

另一个最佳实践是遵循“优化的三个规则”:(1. Don’t, 2. Don’t… Yet, 3. Profile before optimizing),这很有意义:仅优化存在性能问题的代码。(第一作者: Michael A. Jackson)

策略

这是一个非常通用的原则,因此在很大程度上取决于给定的设计问题,有很多可能的策略可以更严格地遵循该原则:

  • 避免继承,多态,动态绑定和其他复杂的OOP概念。使用委派和简单的if-constructs代替。
  • 避免对算法进行低级优化,尤其是在涉及汇编器,位操作和指针时。较慢的实现将正常工作。
  • 使用简单的暴力解决方案而不是复杂的算法。较慢的算法将首先起作用。
  • 避免使用大量的类和方法以及较大的代码块(请参阅“MIMC”)
  • 对于功能稍微不相关但很小的功能块,请使用私有方法,而不要使用其他类。
  • 避免需要参数化的常规解决方案。一个特定的解决方案就足够了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值