Skip to content
On this page

YAGNI

YAGNI 你可能没怎么听过,不过它理解起来也不难。

如何理解“YAGNI"

YAGNI 原则的英文全称是:You Ain’t Gonna Need It。直译就是:你不会需要它。

这条原则也算是万金油了。当用在软件开发中的时候,它的意思是:不要去设计当前用不到的功能;不要去编写当前用不到的代码。实际上,这条原则的核心思想就是:不要做过度设计

比如,我们的系统暂时只用 Redis 存储配置信息,以后可能会用到 ZooKeeper。根据 YAGNI 原则,在未用到 ZooKeeper 之前,我们没必要提前编写这部分代码。

当然,这并不是说我们就不需要考虑代码的扩展性。我们还是要预留好扩展点,等到需要的时候,再去实现 ZooKeeper 存储配置信息这部分代码。

KISS 和 YAGNI 区别

从刚刚的分析我们可以看出,YAGNI 原则跟 KISS 原则并非一回事儿。

  • KISS 原则讲的是“如何做”的问题(尽量保持简单),
  • 而 YAGNI 原则说的是“要不要做”的问题(当前不需要的就不要做)。
YAGNI has loaded