Restrictions

Le compilateur ne se préoccupe que de la syntaxe d'un programme, pas de son style. Il y a cependant des écueils à éviter, qui conduisent à du code peu lisible ou difficilement maintenable. Les restrictions suivantes luttent contre les mauvaises habitudes les plus pernicieuses.

Commentaires

Il est nécessaire de commenter le code partout où l'intention de l'auteur n'est pas immédiatement perceptible à la lecture du code.

Ainsi la déclaration d'une constante, d'une variable, d'une fonction ou d'un type devrait être accompagnée d'un commentaire précisant le rôle de ce qui est défini. Une instruction dont les conséquences sont plus vastes que ce qui apparaît au premier coup d'oeil doit faire l'objet d'un commentaire d'explication. Enfin, une section de code regroupant des instructions qui ensemble accomplissent un but précis peut être précédée d'un commentaire annoncant ce but (mais il est souvent préférable de faire de cette section une fonction).

Les commentaires sont destinés à faciliter la compréhension du code. Ils ne dispensent pas d'écrire une documentation qui explique l'organisation du programme sans qu'il soit besoin de se plonger dans le code.

Fonctions

Les fonctions contribuent à la modularité du code, mais elles servent également à structurer le code en «chapitres». Pour garantir cet usage, il est exigé qu'une fonction ne dépasse pas une vingtaine de lignes. Des exceptions sont acceptables pourvu qu'elles soient convenablement justifiées.

Sauts inconditionnels

Les instructions de saut inconditionnel (goto, break, continue) ont une utilité certaine, dans des situations qui ne relèvent pas de ce cours. Partout ailleurs, leur abus est fréquemment la source de mauvaises pratiques. L'usage de ces instructions est donc proscrit dans tous les modules de DEV, à moins d'être explicitement recommandé par le sujet d'un exercice.

Variables globales

En langage C spécifiquement, l'usage de variables globales est très rarement justifié, et le plus souvent il est la cause de programmes très difficiles à maintenir car le cycle de vie et la portée des données y sont impénétrables. En conséquence, seules les constantes, types et fonctions peuvent être déclarées de façon globale ou externe dans le cadre de ce cours.

retour à la page d'accueil

retour au sommet