2011-02-15 68 views
7

最近,我看了一些代码,我承诺我们的版本控制系统在工作中,并且我发现它已经被替换了一堆(没关系),但旧版本仍然存在,评论说。保留旧的过时代码的反模式的名称

我想这个人觉得删除它有点“不安全”,因此留下了它的评论。但是,这不是必需的,因为我们正在使用版本控制。 (老版是错误的,所以它不喜欢它将会在未来的需要。)

这些计算器的问题处理,如果留下的旧代码一样,周围是一个好主意或没有这样的问题:

不过,我的问题是:是否有一个术语,这样的事情,或“反模式的名字”我可以说我的这件事的同事时报价?

+0

这个问题很好地涵盖在http://stackoverflow.com/questions/758279/checking-in-of-commented-out-code – tawman 2011-02-15 16:10:10

回答

3

“垃圾”。

这是我个人使用的术语。据我所知,这不是一个公认的模式名称。但是,我不承认这里列出的其他人。 “垃圾”将这一概念及其价值立即传达给那些没有阅读过可爱,晦涩名字的人。

1

我见过它被称为“不可饶恕的罪”,但没有我知道的正式名称。

如果您认为注释代码有气味,它也可能导致重复代码,长方法或大类Code Smells。 (再次编辑)其实,我认为越多,“坏评论”本身就应该是一种代码味道。没有任何解释的评论代码当然不是有用的“评论”。

+1

我不知道它的正式名称,因为它发生了令人惊讶我的经验很多。为什么人们做这些事情! – 2011-02-15 16:10:00

+0

@Robin:如果你看到你再次需要这个注释掉的代码,那么取消注释比搜索正确的旧版本更容易,只检出这一个文件并将其合并回去。如果你还记得有一个旧版本。 (这不是为了捍卫这种做法,而只是对“为什么”的答案,即使它没有问号。) – 2011-02-15 16:14:34

1

Wikipedia records this anti-pattern under the name Boat Anchor。虽然我不能说在我刚刚搜索它之前我曾经遇到过这种用法。

+0

真的,我也遇到过这个词,尽管在我搜索之前我从来没有听说过它!但是,它指的是代码不再被调用(但原则上可以调用,也可能工作),而不是代码已被注释掉(因为代码有bug或什么的)。 – 2011-02-15 16:19:31

+2

船锚似乎指的是“活”的代码,没有任何功能的目的,至少给维基百科页面上的例子(一个变量声明和初始化,但从不参考)。我认为这与代码之间存在细微的区别,只是简单地将它们注释掉。 – 2011-02-15 16:20:49