2011-02-15 35 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