KISS原则(KISS principle)

原文 https://people.apache.org/~fhanik/kiss.html


-- KISS代表什么?

-- KISS是Keep It Stupid Simple or Keep It Simple, Stupid的缩写。


--KISS意味着什么呢?

--在我多年的软件工程中,使用这个原则很重要,并取得了巨大的成功。今天,在软件工程师和开发者中出现的,一个很常见的问题就是:面对的问题更负责。

        比如,当开发者遇到问题的时候,他们会把问题分割成一个个更小的问题,小到他们认为他们可以通过代码来解决它。我想说百分之八九十的开发者分割得不够小或者小到足以理解。这导致一个普通的问题需要很复杂的实现,另一方面会导致产生更复杂、层次更多的代码。(spagetthi:意大利千层面,更复杂的意思),一些在BASIC语言很简单的实现,但是在java却需要500-1000行的代码实现。

        开发者的代码比结果更复杂,当开发者在写代码到时候,开发者很难意识到自己写的代码有异常(这句翻译不是很好)。除非开发者拥有更厉害的解决问题的能力。


--我能从KISS原则中收获什么呢?

--你能更快解决问题;

你能用更少的代码解决复杂的问题

你能写出更高质量的代码

你能建立更大型的系统,并且更容易维护

你的代码更能具维护性,当出现新的需求时,你的代码更容易继承、修改、重构

你能实现的超出你的想象

如果代码都遵从KISS原则,你能再更大的项目组,更大的工程中工作。


--我怎么在我的工作中应用KISS原则呢?

--这里有一些很简单的步骤,但是对于一些小白(比如我)来说,是一种挑战。让我们简单的描述,保持简单,勤奋联系,更重要的是自己来。

a.保持谦逊,别认为自己是一个超级天才。保持谦虚,你将拥有超级天才的态度,即使你不是超级天才。你的代码是简单,易懂的,所以你不需要成为一个天才才能驾驭它。

b.分割你的子任务,以致你不需要花费4-12个小时完成它。

c.分割你遇到的难点,每一个问题分割成更小,用一个或几个类来解决它。

d.保持你的方法简单,每个方法不超过30-40行代码,每个方法仅仅解决很小的一个问题。(一个模块只解决一个问题),如果你有很多条件在一个方法,分割他们成为更小的方法。这样做不仅仅是让代码易读和易于维护,更容易找到BUG。你要学会爱上右键+重构

e.保持每个类的大小,相似的方法我们写在同一个类。

f.先解决问题再写代码。很多开发者边写代码边想思路,虽然这没有什么错。但事实上,你应该想好怎么做,然后开始做。如果你在写代码的时候,发现看分割事物成更小的状态,通过所有方式分割。别害怕一遍又一遍的重构你的代码。最后你会发现,你的代码质量提高了。

g.别害怕删掉你的代码。重构和重写是两个很重要的部分。当你无意中发现需求并不存在,或者你在写代码的时候发现能用更好的方法解决以前的老问题。如果你跟从上面的意见,你重写的次数将会相当少,否则,你将会重写很多次

h.对于各种情况,尽可能让它保持简单,这是最难的行为模型。但是一旦你拥有了这种思维能力,你会发现,我以前是有多傻逼才写出这么愚蠢的代码(大概意思)。


--有什么KISS原则的例子吗?

--这里有很多,并且我回找一些真正优秀的并在这里展示。但是我想让你们保持这个想法:

世界上最好的算法往往是由最简单的代码构成,当我们读这些代码的时候,我们会发现,他们很容易懂。这些算法的发明者,把问题分割到足够简单足够小,以致于让他们自己能解决它。

很多优秀问题的解决者并不是一个优秀的代码家,但是他们编写了优秀的代码!


--KISS原则只适用于java编程吗?

--当然不是,它适用于其他所有的工程语言,和你生活的其他方面。

这个法则不适合的领域:爱,很重要的事情(比如生活啊之类),以及你的婚姻。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值