Cosa significa ‘hard-coded qualcosa’ nel contesto della programmazione informatica?

Invece di usare una variabile, a volte usiamo il valore reale.
Per esempio, la seguente funzione calcola l'area del cerchio per un dato raggio.

float areaOfCircle( int radius)
{
float area = 0;
area = 3.14*radius*radius; //3.14 è un valore hardcoded
return area;
}

Si può vedere che ho usato 3.14 come valore stesso, una migliore pratica di programmazione è di renderlo come "#define PI 3..14" o "const float PI = 3.14"
e scrivere il programma come segue

float areaOfCircle( int radius)
{
float area = 0;
area = PI*radius*radius;
return area;
}

Perché non si dovrebbero usare valori hard-coded?

  • Immaginate che questo valore sia usato in molti file e improvvisamente qualcuno scopre che il valore di PI dovrebbe essere "3.14159265359" invece di "3.14" per accuratezza. Allora si dovrà cambiare in tutti i posti!
  • Leggibilità: E' più facile capire "WIDTH_OF_SCREEN" che "12.5" valore hard-coded nel codice.

Questo è un semplice esempio, nei casi in cui le costanti non sono più costanti come 'numero di giocatori', 'Larghezza dello schermo', è meglio usare #define o valori const così che se si cambia in un punto i.e, al punto di dichiarazione della variabile si riflette in tutti i luoghi in cui avete usato il valore.