Programmation/Règles de programmation

Un livre de Wikilivres.

Qu'est-ce qu'une règle de programmation ?[modifier | modifier le wikicode]

Une règle de programmation informatique 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 lettres capitales. Les variables, fonctions et classes en CamelCase ou snake case.
  • les règles permettant de faciliter le portage informatique 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é (mais arrondis).
  • les règles protégeant des pièges d'un langage
    Exemple en C : utiliser la condition Yoda pour ne pas confondre le "=" d'affectation et le "==" de comparaison. Cela consiste à toujours placer l'opérande variable à droite (ex : if 1 == x).
  • 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 programmation[modifier | modifier le wikicode]

La 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.


Outils de vérification automatique de règles de programmation[modifier | modifier le wikicode]

  • AdaControl : cet outil permet de vérifier des règles de programmation pour Ada.
  • CodeCheck : cet outil permet de vérifier des règles de programmation pour C et C++.
  • Logiscope Rulechecker : cet outil permet de vérifier des règles de programmation pour les langages C, C++, Ada et Java.
  • En PHP, il existe phpcs, phpmd, phpstan, et psalm.

Règles de programmation standardisées[modifier | modifier le wikicode]

  • 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++.
  • JSR pour Java.
  • PSR pour PHP.