三大软件原则
原则1: DRY 不做重复的事(Don't Repeat Yourself)
降低可管理单元复杂度的一个基本策略就是将他们拆解成更小的单元。
DRY原则指出,这些小的业务模块在你整个系统中能且只能出现一次。在一个系统内,每个知识必须有单一的,明确的,权威的呈现。
原则2: KISS 保持简单直接(Keep it Simple & Stupid)
应该以最简洁的方式做好某件事。
原则3: YAGNI 你不需要它(You Aren’t Gonna Need It)
如果概念上没有提到,那代码中也不能出现。
你可能已经注意到了YAGNI与DRY驱动的模块化架构之间的不同:
后者将项目切分成可控的组件来降低复杂度,而前者是通过减少组件个数来降低复杂度。
YAGNI很像KISS原则,因为它也是致力于构建简单的方案;
然而,KISS是通过尽可能容易的完成某件事情来实现精简方案;但YAGNI是通过根本就不实现它来达到精简。