NUMÉROS MAGIQUES

Mar 04 2023
Les nombres magiques sont l'un des moyens d'écrire du code propre.

Les nombres magiques sont l'un des moyens d'écrire du code propre.
Bienvenue Mon ami, maintenant nous allons parler d'un principe important qui rend le code plus facile à lire et à modifier et à faire en sorte que le code ait de bonnes odeurs.

Tout d'abord, expliquons ce qu'est l'odeur de code, l'odeur de code est un indicateur de problèmes qui peuvent être résolus lors de la refactorisation, il est facile de les repérer et de les attraper.

supposons avec moi qu'après avoir terminé votre tâche de codage qui vous prend 8 heures et dit OMG finalement terminé, cela prend beaucoup de temps !!!, Et vous avez poussé votre code et un tas de code est comme ça.

double deductFromStanderdEmployee(JouniorEmployee standerdEmployee){
 standerdEmplyee.gross= standerdEmplyee.gross - (3.3 + 2.3) / 100 * standerdEmplyee.gross;
}

maintenant, le chef d'équipe doit changer les services médicaux à 3,5 % et il ordonne à votre ami de le faire.
votre ami regarde maintenant le code et son impression quel numéro est les taxes sur les services médicaux 3.3 ou 2.3 ?️

Alors maintenant, le problème est très clair, vous utilisez une valeur unique avec une signification inexpliquée qui est un nombre magique signifie. il est préférable d'utiliser une constante nommée pour identifier votre nombre magique, Faisons quelques refactoring à votre code mon ami.

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;
}

maintenant vous demandez ce qu'il en est de 100, n'est-ce pas un nombre magique ?
Je dirai Non ce n'est pas un chiffre magique, on peut remarquer que l'on calcule le pourcentage donc c'est très dégagé et échoué. c'est comme une boucle for par exemple :

for (int i=0;i<n;i++){
    //some code here;
}

En résumé , nous avons remarqué que les nombres magiques créent des conflits, nous devons donc bien le remarquer dans notre refactoring pour ne pas tomber dans ces erreurs.

Merci d'avoir lu J'espère vous rencontrer dans mon prochain article.