YAGNI 原则
YAGNI 原则
YAGNI 的英文描述:
1 | You Ain’t Gonna Need It |
中文翻译:
1 | 你不会需要它 |
一、如何理解 “YAGNI”?
从开发方面去理解的话,其含义是:
- 不要去设计当前用不到的功能
- 不要去编写当前用不到的代码
核心思想是:
- 不要做过度设计
实际执行时,就是:不要做多余的事。
二、为什么要 “YAGNI”?
- 过度设计会导致结构复杂,代码难以理解
- 多余的代码会影响阅读理解,因为分散了注意力
- 提前实现在未来未必会用到,白费功夫
三、如何做到 “YAGNI”?
遵循 YAGNI 原则,很简单,只要做到:
- 不要过度设计
- 不要提前实现
但是不要过度设计,不代表着不考虑扩展性。
在实践时,应该考虑这么做:
- 设计时留出扩展点,但是不需要立即实现
- 等后面有需求推动了,再实现对应的扩展
- 如果未来需求变动了,大不了只是放弃这个扩展点而已
总之,在设计时尽量考虑扩展性,但是可以先不实现,留待未来。