我正在與一個遺傳代碼基地,其中包含數千行註釋掉的代碼。我知道之前的編碼人員是爲了挽救他爲後代而辛勤工作的所有努力,而不是簡單地刪除它,但是:我永遠不會讀它,它只會阻礙它。一個問題的例子是,當我對某些代碼段進行文本搜索時,我在註釋代碼中獲得了數十個「錯誤」命中。 PITA。快速簡單的方法來刪除「死」(註釋掉)代碼
是否有快速/簡單的方法來檢測大塊註釋掉的代碼?一個聰明的RegEx也許?
我碰巧在VB.NET中工作,此時註釋字符是單撇號。
我正在與一個遺傳代碼基地,其中包含數千行註釋掉的代碼。我知道之前的編碼人員是爲了挽救他爲後代而辛勤工作的所有努力,而不是簡單地刪除它,但是:我永遠不會讀它,它只會阻礙它。一個問題的例子是,當我對某些代碼段進行文本搜索時,我在註釋代碼中獲得了數十個「錯誤」命中。 PITA。快速簡單的方法來刪除「死」(註釋掉)代碼
是否有快速/簡單的方法來檢測大塊註釋掉的代碼?一個聰明的RegEx也許?
我碰巧在VB.NET中工作,此時註釋字符是單撇號。
您可以使用正則表達式搜索。搜索
^.*'.*$
查找帶註釋的單行。您可能需要找到至少3條以評論開頭的行:
^.*'.*\n.*'.*\n.*'.*$
讓貓遠離鍵盤。
這不會最終刪除所有需要的評論嗎?你如何區分舊代碼和期望的評論? – 2010-03-10 22:29:11
這是爲了找到並選擇註釋的代碼,按DEL是OP的工作。 – 2010-03-10 22:31:55
+1。與涉及宏的回答相比,這會更快,更受用戶控制。 – 2010-03-10 22:33:47
這就是版本控制系統的用途。
我會確保它是版本控制(但願不是Visual源安全)下,檢查出來,刪除所有註釋代碼,並檢查它回。
我還勸阻在實踐中您未來的開發團隊。
我們使用Subversion,所以我不擔心「丟失」任何東西。這個代碼在很多年前就開始了,因爲在版本控制系統成爲常規之前,等待它,VB3。我正在手動移除碎屑,但這是勞動密集型的,所以我正在尋找更快的方法。我想繼續並重構「實時」代碼。 – 2010-03-10 22:23:05
聽起來像是一個教育問題。告訴你的團隊不要再這樣做,然後開始艱難的搗亂來清理混亂。 – duffymo 2010-03-11 00:08:20
恐怕我同意duffymo。我不認爲你會找到一個可靠的自動方法來刪除註釋掉的代碼。我相信如果你足夠努力的搜索,你會發現一個,但你的時間會更好地花在你的工作上。
我過去一直處於這種情況下(我經常這樣做),而最終我做的是在我處理各種模塊時刪除註釋掉的代碼。
作爲一個例子,我打開了Person類來進行更改,並且我看到註釋掉了尚未刪除的代碼。我檢查代碼(我們使用VSS),刪除不良代碼,檢查它,最後,檢查出來做我的工作。
它在一切消失之前需要時間,但我認爲這是解決問題的有效使用時間。
「我們使用VSS」 - 我很抱歉。這是市場上最糟糕的產品,不用說了。爲什麼你會這樣做,當有更多有效的替代品可供選擇,無需花費?但是,謝謝你的支持。 – duffymo 2010-03-10 23:15:25
+1。我也曾經遇到這種情況,而且我也一樣。如果某些特定的註釋掉的代碼令您煩惱,請將其刪除。如果它存在於其他地方,但它現在還沒有進入,那麼刪除它是浪費時間。務實,不浪費時間整理有用的代碼,不需要更改或閱讀。 – MarkJ 2010-03-11 06:58:14
@duffymo:我同意但它超出了我的控制範圍。 (我提出了建議)但是,這是公司的標準,而且是一家大公司。 – 2010-03-11 15:51:11
我會建議編寫或發現一個Visual Studio的宏,這將有助於刪除評論。
一些僞邏輯:
'
,則繼續對於任何C#的人誰在這裏結束了,請使用以下的正則表達式查找註釋掉線。
(^|[^/])//[^/]
我知道這是一箇舊線程,但幫助我的技巧還沒有被提及。
我搜索該正則表達式:
(^ \ S *」 = \ n。)^
它發現註釋包含一個等號線。我的經驗是,大多數註釋掉的代碼塊至少包含一行有賦值的行,並且在實際評論中等號非常少見。
我不自動更換,我只是按F3,如果一行匹配我只是按回車鍵替換爲新線突出顯示的文本。如果它出現在一行註釋掉的線段中,那麼我只需手動選擇,然後再按Enter鍵和F3。
是否有您想保留什麼意見嗎?該評論是否應該刪除,如果它看起來像包含代碼,而不是如果它包含普通文本? – 2010-03-10 22:17:32
這就是問題所在。有一些有用的評論,但他們在二,三或四行上衣。無用的評論代碼傾向於運行數十條和數百條評論線。 – 2010-03-10 22:20:58
我認爲一些聰明的正則表達式可以解決這個問題。一些能夠找到10個或更多以單撇號開頭的連續行的東西。如果正則表達式爲我選擇了註釋代碼,我可以簡單地點擊刪除並移到下一個塊。 – 2010-03-10 22:25:04