In informatica, con l'espressione codifica fissa (in inglese hard coding),[1] o valori cablati si intende la prassi di introdurre in un codice sorgente dei valori costanti che non possono essere cambiati senza ricompilazione del codice sorgente e quindi irrigidiscono il programma ottenuto dalla compilazione di quel codice sorgente.
Questa prassi è quindi considerata negativa nella programmazione in quanto i valori di variabili costanti vengono inseriti direttamente nella logica di programmazione e duplicati quando necessario.
L'alternativa sta nel sostituire i valori costanti con valori letti da file di configurazione, da un database o passati come parametri da linea di comando all'avvio del programma.
if (codice == 1)
{
// fai qualcosa
codice = 2;
}
else if (codice == 2)
{
// fai qualcosa
codice = 3;
}
Ecco un esempio di codice equivalente scritto con uno stile di programmazione migliore:
int STATO_INSERITO = 1;
int STATO_LAVORAZIONE = 2;
int STATO_ARCHIVIATO = 3;
if (codice == STATO_INSERITO)
{
// fai qualcosa
codice = STATO_LAVORAZIONE;
}
else if (codice == STATO_LAVORAZIONE)
{
// fai qualcosa
codice = STATO_ARCHIVIATO;
}
Gli svantaggi nel cablare valori nella logica di esecuzione sono molteplici: