Améliorer son code
Améliorer son code¶
- Introduction
- Général
- Favoriser la lisibilité du code
- Variables
- Noms de variables
- Portée des variables
- Fonctions
- États et tâches
- Classe
- Autres astuces
- Utilisez des modèles de fonctions
Introduction¶
Dans ce document, je vous présente mes astuces pour améliorer votre code. Ces astuces sont basées sur mon expérience personnelle et sur des bonnes pratiques de programmation.
Général¶
Favoriser la lisibilité du code¶
- Si vous revenez sur votre code dans quelques mois, vous serez content de l'avoir écrit de manière lisible
- Vous ne savez pas si votre code est lisible? Demandez à un collègue de le lire
- Vous pouvez utiliser des commentaires pour expliquer des segments de code
Variables¶
Noms de variables¶
- Utilisez des noms de variables explicites. Par exemple, préférez
temperatureBasseàtb.
Portée des variables¶
- Utilisez des variables locales plutôt que des variables globales
- Est-ce que la variable doit être partagée entre plusieurs fonctions?
- Oui, utilisez une variable globale
- Non, utilisez une variable locale
- Est-ce que la variable doit être sauvegardée entre deux appels de la fonction?
- Oui, utilisez une variable statique
- Non, utilisez une variable locale
- Est-ce qu'il s'agit d'une valeur qui ne doit pas être modifiée?
- Oui, utilisez une constante
Fonctions¶
- Est-ce que la fonction fait plus d'une chose?
- Oui, séparez la fonction en plusieurs fonctions
- Non, la fonction est correcte
États et tâches¶
- Est-ce que votre programme a plusieurs états?
- Créez un diagramme d'états pour modéliser le comportement de votre programme
- Créez une machine à états (enumération,
switch, etc.) - Créez une fonction pour chaque état
- Nommez la fonction de manière explicite par exemple avec le suffixe
State - Est-ce que c'est une action récurrente?
- Oui, il s'agit d'une tâche. Créez une fonction pour cette tâche
- Créez une fonction pour chaque tâche
- Nommez la fonction de manière explicite par exemple avec le suffixe
Task
Classe¶
- Utilisez des classes pour la création de systèmes complexes
- Par exemple, un système de ventilation peut être modélisé par une classe
Ventilationqui possède un moteur, un capteur de température, etc. - Une classe ne doit pas faire plus d'une chose. Elle ne gère qu'un seul aspect du système