Crea costante da un'altra costante

3

Oggi ho visto qualcosa di simile a questo:

...
public class SomeClass {
    public static final int A_CONSTANT = SomeOtherClass.ANOTHER_CONSTANT;
...

Ha senso? Per cosa è buono? Non lo farei ma mi chiedo solo perché non ho trovato nulla al riguardo

    
posta user489872 12.05.2017 - 07:50
fonte

1 risposta

7

Cose come questa sono più facili da rispondere se non si anonimizzano i nomi significativi.

public class InfinityStone {
    public static final int MAX_POWER = Integer.MAX_VALUE;
}

In fondo è davvero un cambio di nome. Il significato è il punto. Certo, voglio solo usare un numero ma voglio chiarire il mio pensiero in ogni fase usando il nome migliore che riesco a trovare. In questo modo quando le cose hanno bisogno di cambiare il programmatore che viene dopo di me non sta guardando un numero strano chiedendosi perché l'ho scelto.

Perché non usare solo Integer.MAX_VALUE ovunque? Perché quel nome ha un significato limitato al mio contesto InfinityStone . Sto cercando di creare un luogo in cui domini un modello e un dominio. È strano vedere un dettaglio di implementazione come Integer.MAX_VALUE sparsi qua dentro.

Più tempo passo a programmare, più sono convinto che la cosa migliore che puoi fare per un design sia dare dei bei nomi.

    
risposta data 12.05.2017 - 17:09
fonte

Leggi altre domande sui tag