複数の開発者やスタイルのプロジェクトの過程で、いくつかのテストとコードがコメントアウトされています。コメントアウトされているすべてのコードを見つける簡単な方法はありますか?コメントのコードを見つけるためのツール/ gem
このツールは、実際のコメントではなくコメントされているルビーコードであることを知るには十分にスマートでなければなりません。
この時点で私はgrepはgrep #
のようにしか思えませんが、よりスマートで少ないマニュアルでなければなりません。
複数の開発者やスタイルのプロジェクトの過程で、いくつかのテストとコードがコメントアウトされています。コメントアウトされているすべてのコードを見つける簡単な方法はありますか?コメントのコードを見つけるためのツール/ gem
このツールは、実際のコメントではなくコメントされているルビーコードであることを知るには十分にスマートでなければなりません。
この時点で私はgrepはgrep #
のようにしか思えませんが、よりスマートで少ないマニュアルでなければなりません。
これは醜いかもしれませんが、各 ".rb"ファイルをrakeタスクで行ごとに検査し、regexp(/#.*\n/のようなもの)と照合してeval("matching_string")
各試合でコメントがルビコードでない場合は、単に失敗します。
(もしそうでなければすべて)一致したルビーラインも失敗するでしょう。 –
真ですが、エラーが発生した場合は、文字列がrbコードであると仮定すると、おそらくNoMethodが可能です。野生のアイデアを撮影するだけです。 – nicooga
あなたがこれを行うことができますので、あなたが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
ない完璧な、しかし、グレープよりも優れています#
"コード"と "コメントテキスト"はどのような違いがありますか? – BryanH
私はそれがそうでなければそのコメント: – satyajit