Dovrei evitare di creare una variabile con nome più breve per una costante?

3

Supponiamo di avere un codice come questo

someFunction:function(userId){
  var url=SomeClass.SomeNetworkConnector.SOME_URL;
  if(url !== undefined && userId !== undefined){
    this.openURL(url+"?userid="+userId);
  }
}

Inizialmente penso che il nome della costante effettiva SomeClass.SomeNetworkConnector.SOME_URL sia troppo lungo, quindi uso una variabile con nome più breve per tenerla, e poi usarla più tardi.

Ma mi sto sforzando se dovessi farlo, la mia ragione per oppormi sopra è: SomeClass.SomeNetworkConnector.SOME_URL è già un nome ben definito della costante, è fuorviante rinominarlo come un'altra variabile? Devo usare sempre SomeClass.SomeNetworkConnector.SOME_URL invece di creare un nome di variabile più corto?

    
posta mmmaaa 07.02.2018 - 05:03
fonte

1 risposta

5

Questa è una pratica perfetta.

Il punto di avere un nome lungo e dettagliato per una costante esportata da una libreria è distinguerlo da tutti gli altri URL che potrebbero verificarsi nel tuo programma, o da qualsiasi programma, o in effetti da tutte le altre costanti nel mondo. È necessario distinguere tra loro, quindi ha senso dargli un nome al massimo informativo. Aiuta a stabilire l'identità di quella costante.

All'interno del tuo metodo, l'attenzione non è sull'identità di quell'URL. Invece, è sulla funzione dell'URL che stai usando per raggiungere il tuo attuale scopo a portata limitata. Pertanto, è perfettamente corretto utilizzare un nome breve come url per indicare "l'endpoint al quale sto attualmente parlando". Se un giorno il tuo codice cambia fornitore, la costante esterna cambierà in un altro nome lungo, ma probabilmente la variabile locale sarà chiamata url .

    
risposta data 07.02.2018 - 08:06
fonte

Leggi altre domande sui tag