Si consideri la seguente procedura CI:
- Le build vengono solo distribuite (semi) automaticamente.
- Tutte le modifiche sono controllate dalla versione.
- La configurazione è fissa per ambiente.
Perché utilizzare i file di dati (* .config in .NET) rispetto al codice per la configurazione?
Sì, tecnicamente sarebbe "hard-coded", sebbene sia ancora centralizzato piuttosto che disperso (le buone pratiche sono ancora valide). Il vantaggio è che otterresti una maggiore quantità di verifiche in fase di compilazione. Forse anche alcuni test unitari.
Possibili ragioni contro:
-
Gli utenti (avanzati) possono essere autorizzati a modificare alcune configurazioni manualmente (ad esempio impostazioni grafiche dettagliate nei giochi x86).
-
Potrebbe essere utile vedere quale è la configurazione senza andare al repository di origine quando l'applicazione si arresta all'avvio?
-
Esiste una differenza tra il tipo di impostazioni della "stringa di connessione" e il tipo di impostazione "inversione del contenitore di controllo"?