2009-03-10 7 views
3

Was ist besser?Soll ich eine Konstantenklasse für meine Anmerkungen erstellen?

  1. @SuppressWarnings("unchecked")
  2. @SuppressWarnings(AnnotationConstants.UNCHECKED)

Wo AnnotationConstants ist eine typische Konstanten Klasse ...

public final class AnnotationConstants { 
    private AnnotationConstants() { } 

    public static final String UNCHECKED = "unchecked"; 

    ... 
} 

Ich weiß, dass es eine Menge von allgemeinen Argumente für und gegen Konstanten sind classes- - und genau das bin ich nicht interessiert. Ich möchte wissen, ob eine co nstants Klasse speziell für Anmerkungen ist eine gute Idee oder eine schlechte Idee.

Antwort

6

Für diese spezifischen Beispiel würde ich mit Literalen bleiben. Schließlich versuchen Sie, Warnungen zu unterdrücken - wenn Sie das falsche Literal verwenden, wird die Warnung nicht unterdrückt, was Ihre Aufmerksamkeit auf das Problem lenken wird.

0

Für @SuppressWarning und dergleichen, glaube ich nicht. Ich bevorzuge es, die Konstanten direkt zu schreiben, und der Compiler überprüft sie, wenn möglich. Eclipse macht einen schönen Job dabei.

3

Ich würde ein bisschen von beiden sagen, bitte.

Im Frühling, könnte man sagen, so etwas wie @Scope (Scopes.SESSION) oder @Scope (Scopes.REQUEST), die eine bestimmte Art von Verhalten zu der Anmerkung legt so würde ich sagen, immer eine Konstanten-Klasse verwenden Das ist gut für die Rückverfolgbarkeit.

Wenn Sie nur Warnungen unterdrücken, gibt es wenig Wahrscheinlichkeit, dass Sie das wirklich verfolgen möchten, also gehen Sie einfach mit dem Literal.

2

ich mit Holsam für SuppressWarnings zustimmen würde - verwenden die Saiten

Wenn Sie Ihre eigene Anmerkung schreiben, würde ich empfehlen, Aufzählungen usng wo möglich, Dinge, die als eine Reihe von Konstanten

dargestellt werden könnte
+0

Ich mag die Idee, Enums zu verwenden. +1. –

Verwandte Themen