其他
对抗软件系统复杂性①:如无必要,勿增实体
奥卡姆剃刀准则“如无必要,勿增实体”非常好的概括了这种偏好,对简单的偏好是为了对抗复杂性的挑战,其底层逻辑是:“简单的才是对路的”(do things right)。
在《没有银弹:软件工程的本质性和附属性工作》论文里,他又把软件开发的困难分成本质性的和偶发性的,并指出造成本质性困难的几个主要原因:复杂性 (complexity),隐匿性(invisibility),配合性(conformity)和易变性(changeability),其中复杂性居首。
A = 2 | A = 2
B = A + 1 | C = A + 2
C = A + 2 | B = A + 1
D = B * C | D = B * C
注:题图源自Pixabay, xresch
其他人都在看