显然 YAGNI 和 KISS 之间存在语法差异,但我看不出它们之间有任何语义差异。它们在本质上真的是一样的吗?
问问题
3941 次
2 回答
16
YAGNI(You aint gona need it)是指过度分析和实施可能需要也可能不需要的东西。当然算法优雅是好的,但大多数情况下你不需要它。在一般工程术语中,您应该小心不要包含您自己的要求,以免您自己的想法污染您的客户需求,最终导致项目成本高昂,而对客户的影响很小。
KISS(保持简单愚蠢)是指简单的系统更易于管理的事实。保持简单并不会减少工作量(就像 YAGNI 一样),因为它需要更多的知识来实现。它们有时相似,但从不同的需求中成长。
YAGNI 成长于对未来的过多期待,如果可能的话,是过分热心的工人。KISS 是一种试图抵消人类设计蠕变倾向的策略。
于 2014-09-23T16:55:15.487 回答
15
简而言之:Yagni声明你需要切断你现在不需要的代码,KISS是关于使剩余的代码变得简单。以下是它的可视化方式:
在这里阅读更多
于 2018-10-14T16:19:40.530 回答