2016-08-01 28 views
0

Die meisten der Zeit, definiere ich alsJava definieren String-Konstanten mit gleichen Variablennamen und Wert

public static final String PROCESS_ID ="PROCESS_ID"; 
public static final String CONTRACT_ID ="CONTRACT_ID"; 

//It ends up doing lot like this 
public static final String VARIABLE_NAME ="VARIABLE_NAME"; 
public static final String OTHER_NAME ="OTHER_NAME"; 

Was ist die gute Praxis, um loszuwerden? Code-Review sagt immer, dass "nicht hardcode, Konstanten verwenden"

Ist enum besser Weg?

+1

Warum nicht 'final' verwenden? – Li357

+0

2 Probleme mit der Erstellung einer enum: 1) Sie müssen explizit in eine 'String' konvertieren, um sie dort zu verwenden, wo Sie derzeit eine' String' verwenden; 2) Sie können mit nicht verwandten "Konstanten" in derselben Aufzählung enden; oder viele enums. –

+0

@AndyTurner, sieht es nicht cool aus, diese Art von String über das Projekt hinweg zu definieren. Suchen Sie nach alternativen Möglichkeiten, dies zu tun. – devv

Antwort

0

eine bessere Praxis ist:

public static final ContractualInfo CONTRACT = new ContractualInfo(0, "CONTRACT_ID"); 

public static final ContractualInfo PROCESS = new ContractualInfo(1, "PROCESS_ID"); 
+0

Kannst du erklären, warum du das für besser hältst? –

+0

Dies hängt von Ihrem Anwendungsfall ab (warum Sie dies tun). aber von einem generischen Standpunkt aus, wenn Sie tun: 'neue myWorker (Vertrag)' ist besser als 'neue myWorker ("CONTRACT_ID")' nur weil du Dinge wie 'tun können new myWorker ("WHATEVERIWANT") ' Sie machen, wer Ihre Klasse verwendet, liefert nur Daten, die für Ihre Klasse sinnvoll sind. –

0

Dadurch gibt Ihnen und zukünftigen Entwickler einen einfachen Ort etwas zu ändern, die in mehreren Bereichen einer Anwendung verwendet werden kann.

Zum Beispiel Tabellennamen in DAO. Wenn Sie Ihre Tabellennamen in Konstanten definieren, bedeutet dies, dass eine Änderung an einem Tabellennamen nur eine einzige Änderung erfordert, anstatt den Tabellennamen an mehreren Speicherorten zu aktualisieren.

Was ist die gute Praxis, um das los zu werden?

Überprüfen Sie die Kodierungsstilrichtlinien Ihres Unternehmens und folgen Sie, was sie wollen. Wenn Sie nur selbst programmieren, entscheiden Sie sich für Ihre eigenen Richtlinien und versuchen Sie, diese konsequent zu befolgen.

Ist enum besser weg?

Es kann sein. Wenn Sie diese Konstanten in einer beliebigen Liste behandeln müssen oder wenn jede der Konstanten andere zugeordnete Konstanten hat, kann eine Aufzählung sinnvoll sein. Konsultieren Sie erneut Ihre Codierungsrichtlinien oder machen Sie einige Codierungsrichtlinien.