Maison >développement back-end >Tutoriel Python >Dirty Code : des règles simples pour l'éviter

Dirty Code : des règles simples pour l'éviter

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 04:35:13451parcourir

Dirty Code: Simple Rules to Avoid It

Tous les développeurs ont été confrontés à ce problème : le code sale, le genre de code qui semble avoir été écrit à la hâte, parsemé de nombres magiques, de blocs dupliqués et de noms de variables énigmatiques. Ça marche... à peine. Mais le maintenir ? C'est un cauchemar.

Si vous avez déjà marmonné dans votre barbe en refactorisant le code de quelqu'un d'autre (ou même le vôtre), cet article est pour vous. Voici quelques règles simples pour garder votre code propre, lisible et évolutif.

Qu'est-ce que le Dirty Code ?
Le code sale est le code qui :

  • Est difficile à lire ou à comprendre.
  • Manque de structure et de cohérence.
  • Est difficile à modifier ou à déboguer sans casser autre chose.

Cela arrive souvent lorsque les développeurs :

  1. Travailler dans des délais serrés.
  2. Passer les révisions de code.
  3. Ne suivez pas les meilleures pratiques ou normes.

Pourquoi le Dirty Code est-il un problème ?

  • Difficile à déboguer : la correction d'un bug peut en introduire cinq autres.
  • Coûteux à entretenir : un code mal écrit prend plus de temps à s'améliorer.
  • Confusion au sein de l'équipe : les nouveaux développeurs passent des heures supplémentaires à essayer de comprendre ce qui se passe. Un code sale peut faire le travail aujourd'hui, mais c'est une bombe à retardement pour votre équipe et pour vous-même à l'avenir.

Règles simples pour éviter les codes sales

1. Suivez le principe de responsabilité unique (SRP)
Chaque fonction, méthode ou classe ne doit faire qu’une seule chose. Si vous vous retrouvez à rédiger des méthodes comportant trop de responsabilités, divisez-les en unités plus petites.

❌ Mauvais exemple :

def process_user_data(user):
    user['age'] = user['age'] + 1  
    db.save(user)  
    print(f"User {user['name']} updated")  

✅ Bon exemple :

def update_user_age(user):
    user['age'] += 1  

def save_user_to_db(user):
    db.save(user)  

def log_user_update(user):
    print(f"User {user['name']} updated")  

Chaque fonction a désormais une tâche claire, ce qui rend le code plus facile à tester et à modifier.

2. Évitez les nombres et les chaînes magiques
Les valeurs codées en dur (« nombres magiques ») rendent le code illisible et difficile à maintenir. Utilisez plutôt des constantes.

❌ Mauvais exemple :

if (statusCode === 404) {  
    console.log("Not Found");  
}

✅ Bon exemple :

const NOT_FOUND = 404;

if (statusCode === NOT_FOUND) {  
    console.log("Not Found");  
}

La constante NOT_FOUND est explicite, ce qui rend votre code plus facile à lire.

3. Écrivez les noms de variables et de fonctions descriptives
Les noms de vos variables doivent refléter ce qu'elles représentent. Évitez les abréviations et les noms énigmatiques.

❌ Mauvais exemple :

int a = 5;  
String s = "John";  

✅ Bon exemple :

int userAge = 5;  
String userName = "John";  

Il en va de même pour les fonctions. Évitez les noms vagues comme doStuff() ou process(). Soyez précis.

4. SEC (Ne vous répétez pas)
Si vous copiez et collez du code, vous vous trompez. Le code dupliqué fait de la correction des bogues un cauchemar. Logique répétitive abstraite en fonctions ou classes.

❌ Mauvais exemple :

print("Welcome, John")  
print("Welcome, Mary")  

✅ Bon exemple :

def process_user_data(user):
    user['age'] = user['age'] + 1  
    db.save(user)  
    print(f"User {user['name']} updated")  

5. Gardez vos fonctions courtes
Si votre fonction fait plus de 20 à 30 lignes, elle en fait trop. Décomposez-le en fonctions plus petites et réutilisables.

Les fonctions longues rendent plus difficile la compréhension et le test d'un comportement spécifique.

6. Utilisez les commentaires avec parcimonie
Écrivez du code qui s'explique. Utilisez les commentaires uniquement lorsque cela est nécessaire pour clarifier une logique complexe. Évitez les commentaires qui affirment des évidences.

❌ Mauvais exemple :

def update_user_age(user):
    user['age'] += 1  

def save_user_to_db(user):
    db.save(user)  

def log_user_update(user):
    print(f"User {user['name']} updated")  

✅ Bon exemple :
Si votre code est clair, aucun commentaire n'est nécessaire :

if (statusCode === 404) {  
    console.log("Not Found");  
}

Utilisez des commentaires pour des choses comme clarifier pourquoi une certaine décision a été prise, et non ce que fait le code.

7. Formatez et organisez votre code

  • Suivez un guide de style de codage cohérent (par exemple, PEP8 pour Python, ESLint pour JavaScript).
  • Utilisez une indentation appropriée.
  • Regroupez les codes associés. Un bon formatage rend le code propre et lisible sans aucun effort supplémentaire.

L'état d'esprit du développeur : écrire du code pour les humains
Le code n’est pas seulement écrit pour les machines ; il est également écrit pour les humains : vos coéquipiers, vos futurs responsables ou même vous-même six mois plus tard. Lorsque vous écrivez du code propre :

  • Vous réduisez la charge mentale des autres.
  • Vous facilitez le débogage, l'extension et l'amélioration.
  • Vous ressemblez à un développeur professionnel qui valorise la qualité.

Pensées finales
Éviter le code sale n’est pas difficile : cela demande juste de la discipline. Suivez ces règles simples :

  1. Retenez le principe de responsabilité unique.
  2. Évitez les nombres magiques.
  3. Utilisez des noms clairs et descriptifs.
  4. SÉCHER le code répétitif.
  5. Gardez les fonctions courtes.
  6. Utilisez les commentaires à bon escient.
  7. Formatez votre code de manière cohérente.

Un code propre n’est pas une question de perfection ; il s’agit de rendre votre travail maintenable et compréhensible. Votre futur moi – et votre équipe – vous remercieront.

Maintenant, allez refactoriser ce code désordonné que vous avez ignoré ! ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn