2012-11-14 44 views
5

在我們的項目過程中,有多個開發人員和風格,我們有一些測試和代碼被註釋掉。有沒有簡單的方法來查找所有已註釋的代碼?工具/創業板找到評論代碼

該工具應該足夠聰明,以發現它是被評論的ruby代碼,而不是真實的評論。

在這一點上,我只能想到grep像grep #,但它應該是更聰明和更少手動。

+0

區別「代碼」和「評論文本」是什麼? – BryanH

+1

我猜如果它編譯它的代碼,否則它的評論:) – satyajit

回答

1

這可能是醜陋的,但我認爲你可以檢查每個「.rb」文件,使用rake任務,每行一行,使用正則表達式匹配它(類似於/#.*\n/),然後運行eval("matching_string")在每場比賽。如果評論不是紅寶石代碼,它只會失敗。

+0

大多數(如果不是全部)匹配的紅寶石線也將失敗。 –

+1

是的,但如果提出的錯誤是NoMethod,也許可以假定該字符串是rb代碼。剛剛拍攝一個瘋狂的想法。 – nicooga

1

看來你需要一個looks_like_ruby方法,所以你可以這樣做:

puts line if line =~ /^\s+#/ && looks_like_ruby(line) 

一個快速和骯髒的實現(把我的頭頂部)

def looks_like_ruby(text) 
    text =~ Regexp.union((Kernel.methods + Object.methods).uniq.map(&:to_s)) 
end 

並不完美,但好於grep #