NUMERI MAGICI
I numeri magici sono uno dei modi per scrivere codice pulito.
Benvenuto amico mio, ora parleremo di un importante principio che rende il codice più facile da leggere e da modificare e fa sì che il codice abbia un buon odore.
Innanzitutto spieghiamo cos'è l'odore del codice, l'odore del codice è un indicatore di problemi che possono essere risolti durante il refactoring, è facile individuarlo e catturarlo anche risolverli.
supponiamo con me che dopo aver terminato l'attività di codifica che ti richiede 8 ore e dica che OMG alla fine è finito, ci vuole molto tempo !!!, E hai spinto il tuo codice e un mucchio di codice è così.
double deductFromStanderdEmployee(JouniorEmployee standerdEmployee){
standerdEmplyee.gross= standerdEmplyee.gross - (3.3 + 2.3) / 100 * standerdEmplyee.gross;
}
ora il caposquadra deve cambiare i servizi medici al 3,5% e ordina al tuo amico di farlo.
il tuo amico ora guarda il codice e la sua impressione quale numero è la tassa sui servizi medici 3.3 o 2.3 ?️
Quindi ora il problema è molto chiaro, usi un valore univoco con un significato inspiegabile che è un numero magico. è meglio usare una costante nominata per identificare il tuo numero magico, facciamo un po' di refactoring al tuo codice amico mio.
const double GOVERNMENTAL_TAXES_PERSENTAGE=3.3;
const double MEDICAL_SERVICES_TAXES_PERSENTAGE=2.3;
double deductFromStanderdEmployee(JouniorEmployee standerdEmployee){
standerdEmplyee.gross= standerdEmplyee.gross - (GOVERNMENTAL_TAXES_PERSENTAGE + MEDICAL_SERVICES_TAXES_PERSENTAGE) / 100 * standerdEmplyee.gross;
}
ora stai chiedendo che ne dici di 100 non è un numero magico?
Dirò di no, non è un numero magico, possiamo notare che calcoliamo la percentuale quindi è molto chiara e bloccata. è come un ciclo for per esempio:
for (int i=0;i<n;i++){
//some code here;
}
In sintesi , abbiamo notato che i numeri magici creano alcuni conflitti, quindi dobbiamo notarlo bene nel nostro refactoring per non cadere in quegli errori.
Grazie per aver letto Spero di incontrarti nel mio prossimo articolo.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































