2009-07-30 10 views
1

ファイルとプロジェクトがたくさんあるソリューションでは、完全にコメントされたファイルをどのように見つけることができますか?私は、すべてのコード行が//そのようなファイルで//(EDIT:または空白)で始まると仮定します。完全にコメントされたファイルを見つける

私はVS 2008、C#、ReSharperを使用しています。
私が知っている、通常はそのようなファイルが存在してはならない - それは...

+0

プロジェクトでは、コードのブロックがコメントアウトされることはありません:/ * * /? – JeffH

+0

通常、誰もがctrl + a、コメントブロックを使用して//結果が// ... – tanascius

答えて

3

は、すべての行が「//」で始まるいる中、現在のディレクトリの下にあるすべてのファイルを検索するには空のファイル。

grepへの引数は、空白を考慮して拡張することも、任意の正規表現に一致するように一般化することも簡単にできます。

+0

egrep -vq "(^ // |^$)"は仕事をしました - この簡単な解決に感謝します – tanascius

0

さて、あなたは再帰的にディレクトリとファイルツリーを歩くためのプログラム(おそらく、コンソールアプリケーション)を書くことができるため、安全なソースがあるものです。すべての.csファイルを読み込んで、各行をチェックして、空白でない最初の文字が "//"であるかどうかを確認します。あなたが本当に気に入らなければならない場合は、 "//"で総行数と行数を数え、パーセンテージを表示して、すべての行がコメントアウトされていないファイルを捕まえることができます。あなたが探している文字を探すためのファイルと文字列関数を得るためにSystem.IOについてちょっと理解する必要があります。それはそれをカバーする必要があります。回数などを構築する行がコメントされているかどうかを判断し、プロジェクト内のメソッドのhttp://www.codeproject.com/KB/cs/csharplinecounter.aspx

見て、あなたがそれを使用することができます。

+0

私は自分自身をコーディングせずに離れたいと思っていました:/ – tanascius

0

これは、あなたが探しているに近いものでなければなりません

+0

良いアイデア、私は試してみましたが、今停止しました。コードは非常に悪く、何とか正しくカウントされませんでした。私は準備したコメントファイルを見つけることができませんでした。私はもう一度試してみるつもりです。 – tanascius

1

これまで説明したコンポーネントを使用した簡単な検索スタイルでこれを実現する方法はありません。これを行うには、ファイルの解釈が少し必要ですが、かなり簡単なスクリプトで行うことができます。

コメントなしのファイルとコードなしのファイルを探しているようです。たとえば、900行がコメントされ、100行が空白の1000行がある場合、それはあなたの基準を満たしているようです。

スクリプトを書くために、かなりまっすぐでなければなりませんが、あなたは次のような奇妙な例のために外を見る必要があるだろう

  • ブロックは常にfalseであるブロック場合
  • をコメントしています。これは報告されていること

     
    find . -type f -exec sh -c 'grep -vq "^//" {} || echo {}' \; 
    

    注:たとえばの#if 0

  • 空行
+0

あなたは正しいです、私も空白行を扱わなければなりません。私はFind-Dialogのような簡単な解決法を望んでいました:/ /しかし、それはそうでないようです... – tanascius

関連する問題