保留旧的过时代码的反模式名称

8
最近我查看了我在工作中提交到版本控制系统中的一些代码,发现其中很多已被替换(这没问题),但旧版本仍然存在,只是被注释掉了。
我猜那个人可能对删除它感到有点“不安全”,因此将其保留为注释状态。然而,既然我们使用版本控制,这就没有必要了。(旧版本是错误的,所以未来也不需要用到它了。)
这些stackoverflow问题涉及如何判断像这样留下旧代码是否是一个好主意: 然而,我的问题是:这种事情有术语吗?或者有个“反模式名称”可以在谈论时引用吗?

这个问题在https://dev59.com/XHRA5IYBdhLWcg3w_DAw上已经被很好地解决了。 - tawman
4个回答

3

1
是的,但我认为可调用的代码(即使它没有被调用)和可能甚至能够工作的代码与已知错误并因此被替换的代码之间存在差异(在这种反模式中,仍然包含在源代码中,但被注释掉)。 - Adrian Smith

3

“废料”。

这是我个人使用的术语。据我所知,它不是一个被公认的模式名称。但是,我也没有认出这里列出的任何其他名称。 “废料”一词立即向那些没有读过可爱而晦涩名称的人传达了概念和价值。


1

我曾听说过它被称为“不可饶恕的罪行”,但我不知道是否有正式的名称。

如果你认为注释代码有气味,那么它也可能导致重复代码、长方法或大类代码异味。(再次编辑)实际上,我越想,“糟糕的注释”本身就应该是一种代码异味。没有任何解释的注释代码肯定不是一个有用的“注释”。


1
我也不知道它的正式名称,尽管在我的经验中这种情况经常发生。为什么人们会做这些事情! - Robin Salih
@Robin:如果你发现需要这段被注释掉的代码,取消注释比搜索正确的旧版本、仅检查此文件并将其合并回来更容易。如果你甚至还记得有个旧版本的话。(这并不是为了辩解这种做法,只是对“为什么”的回答,即使它没有问号。) - Paŭlo Ebermann

1

我也遇到了这个术语,尽管在搜索之前我从未听说过它!但是它指的是不再被调用的代码(原则上可以被调用并且可能也有效),而不是已经被注释掉的代码(因为代码存在错误或其他问题)。 - Adrian Smith
2
船锚似乎指的是“活”的代码,它没有任何功能目的,至少根据维基百科页面上的例子来看(声明并初始化一个变量,但从未再次引用)。我认为这与以块形式注释掉的代码有微妙的区别。 - Isaac Truett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接