一、KISS
大约在60年前,美国军方的软件开发开始遵循一个原则,叫KISS原则。他们希望武器系统中所用的每个指令都是极其简单和傻瓜式的。这个原则后来在编程领域中被广泛采用,如今好多著名的开源框架都是遵循这一原则来开发,并最终取得了巨大的成功。
KISS 是Keep It Stupid、Simple 或 Keep It Simple、Stupid的缩写。
当今的软件工程师们有个共同的问题,那就是总是慢慢地使得问题复杂化。正确的做法应该是当开发者遇到一个问题后,把问题拆分成一个个能够明白的小块,然后进入编码阶段。但10个开发者中有8个或9个都没有把问题分解成足够小或可以理解的足够小的部分。这就导致了即使是一个非常简单的问题最后也变成了非常复杂的实现。
需要先想好问题的解决步骤一共分为几步,然后再进入编码。而不是拿到需求后,就开始一边写代码一边去满足需求。这样做的好处就是代码会变的足够容易理解和足够清晰。
二、KISS的优势
- 可以更好地解决更多问题。
- 将可以通过很少的几行代码去解决复杂的问题。
- 将可以产出高质量的代码。
- 将可以构建更大更易维护的系统。
- 当新的需求来了后,代码将会更加的灵活,易于扩展、易于修改和重构。
- 将完成比想象更多的事情。
- 将能够工作在一个大型开发团队和大型项目中,因为所有的代码都是stupid simple。
三、如何做
- 将任务分解为4-12小时的子任务。
- 把问题拆分成多个小问题。每个问题用一个或者很少的几个类来解决掉。
- 保持方法足够小,每个方法永远不要超过30-40行代码。每个方法都应该只处理一个小小的问题,不要搞太多uses case进去。如果方法中有多个分支,尝试拆分成多个小的方法。这样不仅容易阅读和维护,找bug也更快。
- 保持类足够小。
- 先解决问题,然后开始编码。不要一边编码,一边解决问题。这样做也没什么错,但提前把事情切分成多个小的块,然后开始编码可能是比较好的。不要害怕一遍遍重构代码。另外行数不是为了衡量质量的标准,只是有个基本的尺子而已。
- 不要害怕干掉代码。重构和重做是两个非常重要的方面。如果遵循上面的建议,重写代码的数量将会最小化,如果不遵循,那么代码很可能会被重写。
- 其他的任何场景,都请尝试尽可能的简单,simple,这也是最难的一步。
网友评论