2

プロジェクトに何らかの「コードスタイル」アノテーションがありますか。例:@ OverEngineered forover-complexedcodeまたは@Duplicated...など。

理想的には、そのために@Deprecatedをサブクラス化して(@OverEngineeredは@Deprecatedを拡張します)、IDEにそれを強調表示させますが、Javaアノテーションは継承されません

それで、IDEに非推奨のようなコードスタイルのカスタムアノテーションを強調表示させるための回避策があるのだろうか?それとも、これは一般的に間違った方法または間違ったタスクですか?

4

3 に答える 3

2

これらのアノテーションのファミリーを作成して、と一緒に使用することができます@Deprecated。後者は警告を受け取り、前者は人間の読者に詳細を提供します。Checkstyleルールを記述して、すべての非推奨のものに説明注釈を付けること、および/またはすべての説明に非推奨を伴うことを要求できます。

ただし、いくつかの注釈を書くのではなく、説明ラベルをパラメーターとして受け取る注釈を書きます。私はそれを呼ぶでしょう@BecauseItIs。それで:

@Deprecated @BecauseItIs("overengineered")
public void calculateSumOfTwoIntegersUsingSurfaceIntegrals(int a, int b) {
于 2012-08-09T20:20:43.953 に答える
1

回避策は、Eclipse用に開発したプラグインを使用して実装されます。ただし、コードに適切に記述されたコメントほど意味的には何もありません。

結局のところ、それは目的によって異なります。しかし、良いコメントは、誰もがインストールしなければならないプラグインよりも優れていると思います。

于 2012-08-09T17:49:02.740 に答える
1

IDEのその場所に注意を喚起する以外に、別の目標があるかどうかは私にはわかりません。@DeprecatedJavadoc、IDEドキュメントのポップアップ、およびコンパイラの出力にも表示されるものについて言及しました。

他の可能性のないIDEの強調表示のために、ほとんどのIDEがサポートするFIXME / TODOの種類のコメントタグ(少なくとも私が使用したもの)を活用できます。OVERENGINEERED: this is too ...などに独自のタグを追加するだけです。

Eclipseでは、大文字と小文字を一致させるかどうかも指定できるため、次のようになります。OverEngineered:

于 2012-08-10T00:42:40.737 に答える