Lavoro per un'azienda che sta costruendo un'applicazione web con ASP.NET e amp; MVC, che è stato l'ultimo lavorato pochi mesi fa. Faccio parte del team che lavora al progetto e ho riscontrato dei valori (come i nomi dei luoghi) codificati nel file web.config del progetto.
Secondo me è una cattiva pratica dato che più sviluppatori hanno versioni diverse di web.config, quindi i valori hard-coding in questo file potrebbero causare incongruenze. Inoltre, i non sviluppatori potrebbero dover aggiungere / rimuovere valori e avere una maggiore possibilità di causare comportamenti instabili se interrompono accidentalmente il web.config (poiché il codice non può essere compilato con errori come le virgolette mancanti attorno alle stringhe, ma tali errori nel web .config potrebbe non essere catturato poiché sono considerati "validi").
La comprensione dei miei colleghi è che i valori hard-coding in questo modo rendono più semplice per gli altri modificare questi valori, al contrario di mantenere una classe centralizzata contenente i valori (di cui verranno rilevati eventuali errori di sintassi).
Il web.config può essere modificato al volo senza richiedere la ricompilazione, mentre le modifiche al codice richiedono la ricompilazione. Eventuali modifiche a questi valori verranno apportate quando l'applicazione Web non è in uso e l'ambiente di distribuzione verrà automaticamente ricompilato prima di ridistribuire comunque.
Sono sicuro che memorizzare tali valori nel file di configurazione Web per l'applicazione è una cattiva pratica?