アノテーションの定数クラスを作成する必要がありますか?
-
08-07-2019 - |
質問
どちらが良いですか?
-
@SuppressWarnings("未チェック")
-
@SuppressWarnings(AnnotationConstants.UNCHECKED)
AnnotationConstants
は典型的な定数クラスです...
public final class AnnotationConstants {
private AnnotationConstants() { }
public static final String UNCHECKED = "unchecked";
...
}
定数クラスには多くの一般的な議論があることを知っています。それはまさに私が興味がないことです。定数クラスが具体的にはアノテーションは良いアイデアか悪いアイデアです。
解決
この特定の例では、リテラルに固執します。結局のところ、警告を抑制しようとしています-間違ったリテラルを使用すると、警告は抑制されず、問題に注意を引くことになります。
他のヒント
両方とも少しお願いします。
Springでは、@ Scope(Scopes.SESSION)や@Scope(Scopes.REQUEST)のように言うことができます。これは、特定の種類の動作を注釈にアタッチするため、 always と言います。トレーサビリティに適した定数クラスを使用します。
警告を抑制しているだけの場合、これを実際にトレースしたい可能性はほとんどないため、そのままにしてください。
SuppressWarningsのHolsamに同意します-文字列を使用します
独自の注釈を記述している場合、可能な場合は列挙型を使用して、定数のセットとして表すことができるものを使用することをお勧めします
@SuppressWarning
などについては、そうは思いません。定数を直接記述し、可能であればコンパイラにチェックさせるようにしています。 Eclipseはそれで素晴らしい仕事をします。
所属していません StackOverflow