0

現在、Checkstyle で独自のチェックを作成しようとしています。クラス内のコメント化されたコードに対して警告をスローすることになっています。

これで、コメントの認識に関してはすべて理解できましたが、Java Code を認識させるにはどうすればよいかという問題に直面しています。

これらの機能を提供するコレクションは既にありますか? 修飾子、タイプ、スコープなどの特定のキーワードをチェックするだけでは、状況によっては曖昧すぎる場合があります。

tl;dr: 文字列がJavaコードかどうかを調べる方法を探しています(パターンマッチング)

4

2 に答える 2

0

行は単一の}. とはいえ、FILE が Java かどうかを確認したい場合、主に特定の行のコンテキストを確認できるため、適切な Regex オプションがいくつかあります。それらを使用したとしても、Java であるかのように検出される特定のファイルを作成できますが、実際にはそうではありません。そうは言っても、すべてではないにしてもほとんどの「通常の」ファイルで機能します。

探しているのが Regex である場合は、StackOverflow で同様の脅威を探すことをお勧めします。ただし、これを Checkstyle で本当にやりたい場合は、運が悪いかもしれません...

于 2013-10-31T08:44:30.903 に答える
0

コメント化されたコードの大きなブロックを特定するための優れたヒューリスティックな方法は、先行するスペースをチェックすることです。「有効な」コメントは通常、実際のコードでインデントされます。

public class A {

   public void a() {
       // valid comment
       ...
   }

}

一方、ctrl-7 でコメント化されたコード ブロックは // 文字で直接開始されます。

public class A {

//   public void a() {
//       // valid comment
//       ...
//   }

}

したがって、正規表現は次のようになります

^//.*
于 2013-10-31T08:51:35.567 に答える