Codifica fissa

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:

  • non risulta chiaro a cosa il valore cablato si riferisca (programmi poco leggibili);
  • in caso di utilizzo del valore in più punti il programma risulterà difficilmente manutenibile in quanto in caso di variazione di tale valore le modifiche saranno molte in diverse parti del codice.
  1. ^ Marco Saporiti, Dizionario Enciclopedico di Informatica, Lulu.com, 2011, ISBN 9788896782491. URL consultato il 17 maggio 2017.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica