0%

KISS

翻译自https://people.apache.org/~fhanik/kiss.html

KISS代表什么?

KISS是Keep It Stupid Simple或Keep It Simple,Stupid的缩写

KISS是什么意思?

这个原则一直是关键,并且在我多年的软件工程中取得了巨大的成功。当今软件工程师和开发人员之间的一个普遍问题是他们倾向于将问题复杂化。

通常,当开发人员遇到问题时,他们会将问题分解成他们认为自己理解的更小的部分,然后尝试用代码实现。我会说10个开发人员中有8个或9个犯了错误,即他们没有将问题分解为足够小或足够容易理解的部分。这导致即使是最简单的问题也会用非常复杂的实现,另一个副作用是面条式代码,我们认为只有BASIC会用它的goto语句来做的事情,但在Java中这会导致类有500-1000行代码,每个方法有几百行。

这种代码混乱是开发人员在输入代码时意识到其原始解决方案存在异常情况的结果。如果开发人员进一步分解问题,这些异常情况就会得到解决。

我将如何从KISS中获益

  • 您将能够更快地解决更多问题。
  • 您将能够生成代码以用更少的代码行解决复杂的问题
  • 您将能够生成更高质量的代码
  • 您将能够构建更大的系统,更易于维护
  • 当新需求到来时,您的代码库将更加灵活、更易于扩展、修改或重构
  • 你将能够实现比你想象的更多
  • 您将能够在大型开发团队和大型项目中工作,因为所有代码都非常简单

我如何将KISS原则应用到我的工作中

需要采取几个步骤,非常简单,但对某些人来说可能具有挑战性。听起来很简单,保持简单是一个耐心的问题,主要是对你自己。

  • 谦虚一点,不要把自己当成超级天才,这是你犯的第一个错误
    通过谦虚,你最终会获得超级天才的地位,即使你没有,谁在乎呢!您的代码非常简单,因此您不必成为天才即可使用它。
  • 将您的任务分解为您认为编码时间不应超过4-12小时的子任务
  • 把你的问题分解成许多小问题。每个问题都应该能够在一个或几个类内解决
  • 保持你的方法小,每个方法不应该超过30-40行。每个方法应该只解决一个小问题,用例不多
    如果您的方法中有很多条件,请将它们分解成更小的方法。
    这不仅更易于阅读和维护,而且您会更快地发现错误。
    您将学会爱上编辑器中的 Right Click+Refactor。
  • 保持你的类小,具体的方式可以参考上面方法的描述。
  • 解决问题,然后编码。不是相反
    许多开发人员在编码时解决他们的问题,这样做并没有错。事实上,你可以这样做并且仍然坚持上述声明。
    如果你有能力在头脑中将事物分解成非常小的部分,那么一定要在编码时这样做。但是不要害怕一次又一次地重构你的代码。重要的是最终结果,行数不是衡量标准,除非您衡量的是越少越好。
  • 不要害怕丢弃代码。重构和重新编码是两个非常重要的领域。当您遇到不存在的需求,或者您不知道何时开始编写代码时,您可能能够使用更好的解决方案来解决新旧问题。
    如果您遵循了上面的建议,那么重写的代码量就会最少,如果您没有遵循上面的建议,那么代码可能无论如何都应该重写。
  • 对于所有其他场景,请尽量保持简单,这是最难应用的行为模式,但一旦你拥有它,你会回过头来说,我无法想象我是如何工作的前。

有没有KISS原则的例子

有很多,我会寻找一些非常棒的发布在这里。但我会给你留下以下想法:
一些世界上最伟大的算法总是代码行最少的算法。当我们浏览代码行时,我们可以很容易地理解它们。该算法的创新者将问题分解,直到它很容易理解以至于他/她可以实现它。
许多伟大的问题解决者并不是伟大的编码员,但他们却产生了伟大的代码!

KISS只适用于java编码吗

绝对不是,它适用于许多其他编程语言,并扩展到您生活中的许多其他领域。
该原则不适用的领域是:情感、爱情,最重要的是,你的婚姻 :)