所以干掉代码应该是件好事吧?在我正在从事的一个项目中,存在某些模型/实体或多或少相同的情况,除了使用它们的上下文。也就是说,每个这样的实体都有一个标题、描述、标签、一个 user_id 等和一些其他属性。因此,他们在各自控制器中的 CRUD 操作看起来非常相似。
我的经理争辩说它重复了代码,需要干掉。因此,他提出了 CRUD ruby 模块,当include
d 负责所有这些实体的控制器的 CRUD 操作时。但最终,Simplicity 受到了损害。代码失去了可读性,因为每个“事物”都被命名为“对象”。调试变得困难,干掉代码的全部意义就丢失了。
这只是一个案例。其中有几个 DRYing 会导致复杂、难以调试的代码。所以问题是,我们什么时候停止干燥代码?因为并非每次您都意识到代码已经失去了简单性(而且代码作者通常从未意识到代码的简单性已经失去了)。此外,如果我们必须在简单性和 DRYed 代码之间进行选择,应该选择什么,如果有一种情况,您只能获得其中任何一个。