|
Resources
|
Qu'est-ce qu'une règle de programmation ?Une règle de programmation est la description de contraintes à respecter quand on écrit un logiciel. Il existe plusieurs types de règles de programmation :
- les règles de nommage : elles définissent la façon de nommer les identificateurs utilisés dans une application de façon à faciliter la lecture du code et à aider à détecter des erreurs.
Exemple : les noms des constantes doivent être en MAJUSCULES. - les règles permettant de faciliter le portage des applications : elles identifient des constructions du langage de programmation qui peuvent avoir un comportement différent selon le système d'exploitation ou le microprocesseur.
Exemple : deux nombres flottants ne doivent pas être comparés pour une stricte égalité. - les règles protégeant des pièges d'un langage.
Exemple en C : ne pas confondre le "=" d'affectation et le "==" de comparaison. - les règles de présentation pour faciliter la relecture du code.
Exemple : mettre une seule instruction par ligne. - les règles facilitant la [[maintenance]] des applications.
Exemple : en C, C++ et Java, mettre les blocs if et then d'un test entre accolades. - les règles limitant la complexité du code.
Exemple : limiter la complexité des expressions à 4 opérateurs. - les règles permettant d'améliorer la structuration du code.
Exemple : déclarer les variables partagées dans un fichier header.
Vérification des règles de programmationLa vérification d'un ensemble de règles de programmation est généralement faite lors d'un audit de code. Elle peut être réalisée soit manuellement par lecture du code, soit automatisée par un outil qui localise les violations des règles. Logiscope permet de vérifier des règles de programmation pour les langages C, C++, ADA et Java.
Règles de programmation standardisées- MISRA C : ensemble de règles initialement réalisées pour l'automobile et maintenant largement utilisées.
- MISRA C++ : version de MISRA C adaptée au langage C++
- Règles de Scott Meyers : Ces règles sont décrites dans les livres
- "Effective C++: 50 Specific Ways to Improve Your Programs and Designs" (Addison-Wesley, second dition, 1997, ISBN: 0-201-92488-9)
- "More Effective C++: 35 New Ways To Improve Your Programs And Designs" (Addison-Wesley, first edition, 1996, ISBN: 0-201-63371-X).
|