複数の開発者とスタイルを使用したプロジェクトの過程で、コメントアウトされたテストとコードがいくつかあります。コメントアウトされているすべてのコードを見つける簡単な方法はありますか?
このツールは、実際のコメントではなく、コメントされているのがルビーコードであることを見つけるのに十分なほど賢いはずです。
この時点では、grepはのようなものしか考えgrep #
られませんが、よりスマートで手動ではないものにする必要があります。
複数の開発者とスタイルを使用したプロジェクトの過程で、コメントアウトされたテストとコードがいくつかあります。コメントアウトされているすべてのコードを見つける簡単な方法はありますか?
このツールは、実際のコメントではなく、コメントされているのがルビーコードであることを見つけるのに十分なほど賢いはずです。
この時点では、grepはのようなものしか考えgrep #
られませんが、よりスマートで手動ではないものにする必要があります。
これを行うには、メソッドが必要な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するよりはましです#
これは見苦しいかもしれませんが、rake タスクを使用して各「.rb」ファイルを行ごとに検査し、正規表現 (/#.*\n/ のようなもの) と照合し、一致するたびに を実行できると思いますeval("matching_string")
。コメントが ruby コードでない場合、単純に失敗します。