2

YAGNI 可以用过去时吗?您创建了一些功能,它在前一段时间使用过,但您不再使用它,并且您不想维护它,所以您宁愿将其删除。

摆脱未使用或很少使用的功能一定是一件坏事吗?

背景

  • 我使用源代码控制,所以如果我再次需要该功能,我可以得到它。
  • 我是我的软件的唯一用户(我是分析数据集的生物信息学家)。
  • 我遇到这种情况的一种情况是我使用继承,有一个父类和两个子类。一个是处理454测序产生的文件(下一代测序),另一个是处理Sanger测序产生的文件(上一代测序)。我在积极维护后者,但不是前者。也许我的错误是使用继承而不是组合,但这是一个稍微不同的故事。
4

5 回答 5

7

未使用的代码会受到“代码腐烂”的影响——将其作为重构步骤删除是完全合法的。

关于 C2 的YAGNI 和删除页面的一些额外讨论。

也就是说,我发现自己通常对剔除死代码持保守态度,但这也许是我需要努力的事情......

于 2010-05-05T00:37:15.680 回答
5

死代码在很多方面都很昂贵。

最困扰我的是重构时带来的摩擦和额外的劳动。

按删除键。如果您以后需要它,请前往 SCC 并获取它。

于 2010-05-05T00:44:17.410 回答
2

新手程序员为他们编写的新功能感到自豪。大师级的程序员在能够删除一个特性时很满足。

于 2010-05-05T00:52:16.453 回答
1

为什么你不应该编写不使用的代码的所有原因也适用于为什么你不应该保留不使用的代码。如果您不需要它,请不要保留它。:-)

于 2010-05-05T00:40:55.873 回答
1

删除它。一个新的首字母缩略词 YGRKI - 你会后悔保留它怎么样?

于 2010-05-05T00:56:35.133 回答