导航

简单原则:KISS原则、奥卡姆剃刀定律、YAGNI原则

Posted on 2022-12-06 08:36  蝈蝈俊  阅读(734)  评论(0编辑  收藏  举报

一、简单原则

常见的几个简单原则:

1、 KISS 原则

KISS 是英文 keep it simple,stupid 首字母的缩写。就是要把一个产品做得连白痴都会用,因而也被称为“懒人原则”。换句话说来,“简单就是美”。

KISS 原则源于 David Mamet(大卫·马麦特)的电影理论,后来被逐渐延伸扩展到其他领域。

2、 奥卡姆剃刀定律

奥卡姆剃刀定律(Occam's Razor, Ockham's Razor)又称“奥康的剃刀”,它是由14世纪英格兰的逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam,约1285年至1349年)提出。
这个原理称为“如无必要,勿增实体”,即“简单有效原理”。

公元 14 世纪,来自奥卡姆的威廉(William of Ockham)对当时无休无止的关于“共相”“本质”之类的争吵感到厌倦,于是著书立说,宣传只承认确实存在的东西,认为那些空洞无物的普遍性要领都是无用的累赘,应当被无情地“剃除”。他所主张的“思维经济原则”,概括起来就是“如无必要,勿增实体。”因为他叫威廉,来自奥卡姆,人们为了纪念他就把这句话称为“奥卡姆剃刀”。

3、 YAGNI 原则

YAGNI是英文“You aren't gonna need it” 的缩写,一般认为属于软件工程方法极限编程。 YAGNI 原则指出,程序员应该在面临确凿的需求时,才实现相应功能

二、没有明确“简单”的判断原则

上面简单的几个原则并没有给出判断原则,简单的判断原则应该从客户的价值角度来判断,即:

  • 目标用户的角度,能让业务运作方便,能够节省时间的系统才是 “简单”。
  • 目标系统拥有者的角度,花费最少、产出最高的系统才是“简单”。
  • 利益相关方的角度,能够高效满足对应需求才是“简单”。

而在实施人员的角度,他潜意识里也会希望方便自己的工作,尽早地完成被分派的任务,这是他所希望的“简单”。因此,实施人员会希望设计师给出的设计方案能方便他们落地实现,因为设计师自身的“简单” 观点会对实施人员的工作难度产生巨大的影响。

比如:体操教练让一个体操队员来做一个后空翻,这是“简单”。但是让一个没经过体操训练的普通人做一个后空翻,这绝对不“简单”,可能会摔断脖子出人命的。

三、简单不等于容易

“简单”并不等同于“容易”,要把系统做到“简单”,往往是最难的,一点都不 “容易”。

下图简单吧,就两个石头垒砌起来了,但是绝对不容易。

四、复杂度在不同分工间会互相影响

如果要把某一方的工作变简单,其他角色的工作则往往会变得更加困难。

要得到一个让用户用起来“简单”的系统,或让目标系统拥有者觉得“简单”的系统,则会让设计师的工作变得更加复杂、更困难。要做到这一点,需要设计师突破自身的认知,先站在用户的业务角度去考虑,这是非常难的;还要站在老板的角度,要时刻计算着成本,这更难了。

泰斯勒定律

泰斯勒定律(Tesler's Law)由Larry Tesler于1984年提出,也称「复杂度守恒定律」。

该定律认为:每一个过程都有其固有的复杂性,存在一个临界点,超过了这个点过程就不能再简化了,你只能将固有的复杂性从一个地方移动到另外一个地方。

五、“简单”与内聚的关系

只要做到内聚、低耦合,就可以满足“简单” 了。

但做到了简单,并不一定内聚,一个足够简单但是耦合的系统也是简单的。比如电话客服,需要紧密耦合很多人和系统,但是又足够简单把问题分类,很容易被人工智能替代。

如果已经做到内聚,就不再需要用“简单”原则来判断,“内聚”才是最核心的原则。因为只有内聚,不同个体才得以占有独立的空间,才能够保证权责对等,保障个体在空间上的连续与完整,才能符合现实世界的特质。

六、总结

简单并不代表容易,需要按照客户价值来评判。