2010-07-31 40 views
8

The Pragmatic Programmer很多人都很喜欢recommended。我刚读完它,我可以明白为什么人们会推荐它,但我会指出,“代码完整版”涵盖了几乎所有相同的材料。The Pragmatic Programmer的作者忘记了YAGNI吗?

但是,有一件事给我带来了困扰,就是作者从来没有提到灵活性的任何缺点,概括和为未来发展留下空间。这些概念都非常好,但是YAGNI(你不会需要它)的原理发生了什么事情,它可以防止开发人员浪费时间实现永远不会被使用的灵活性?

对SO的搜索揭示了关于YAGNI的400个问题,所以我怀疑作者对这个概念过于模糊。当然,我的经历远没有他们那么有经验,为什么他们在整本书中没有提到任何限制?

谢谢。

+2

你真的不得不去问他们,但我猜想是因为说YAGNI不卖书。 – Oded 2010-07-31 16:27:05

回答

2

他们并没有要求它YAGNI,但有11页的关键字,它至少具有相同的焦点:

知道什么时候停止!

+2

虽然我不认为这是真的。知道何时停止处理代码与知道何时不设计系统过度灵活性不同。也许我对YAGNI的内容感到困惑。 – Dijkstra 2010-07-31 16:53:42

+0

我只能猜测亨特和托马斯在写这段经文时脑子里是否有“YAGNI”,但我有强烈的感觉,他们的意图是在同一个方向。 – 2010-07-31 21:54:27

0

他们没有忘记。我认为这本书刚刚早于YAGNI而闻名于世。

0

[YAGNI]防止开发商浪费他们的时间实施 灵活性,永远不会被使用

实现灵活性并不一定需要更多的时间。根据我的经验,它可以()成为自然编程风格的一部分。不灵活的恕我直言的代码通常是由于糟糕的编程习惯。