Tiens, c’est marrant, j’allais justement faire un post un de ces quatre sur mes conventions de programmation, histoire de vous demander votre avis et pour voir quelles sont les vôtres. Même si je n’ai pas été invité à la fête, cette chaîne initiée par Godefroy et relayée par Babozor tombe à point nommé et je la reprends !
Tout d’abord, allez jeter un coup d’oeil à cet exemple de code PHP que j’ai écrit pour le site Pikaboo.
Notations
J’utilise des notations relativement standard : UpperCamelCase pour les noms de classes et lowerCamelCase pour les noms de fonctions et méthodes. Par contre, pour les variables, j’écris tout en minuscules et je sépare les mots par le caractère underscore. Depuis peu, j’essaye également d’utiliser cette notation (minuscules + underscore) pour les class et id en HTML (afin de répercuter cette notation en CSS).
Indentation
J’indente uniquement par tabulation (de la taille de quatre espaces), aussi bien pour PHP et JavaScript que pour HTML et XML. Je trouve qu’il s’agit du truc le plus important pour obtenir un code lisible. Dans certains langages (Python par exemple), il est même obligatoire de travailler de cette façon.
Accolades
Ma façon de placer les accolades me vient de je ne sais où mais je la trouve efficace : je place l’accolade ouvrante à la fin de la ligne contenant la déclaration de fonction ou la structure de contrôle (if, while, foreach, etc.), précédée par un espace. Par exemple :
foreach (...) {
...
}
ou
function myFunction(...) {
...
}
Autre détail important : même si le contenu d’une condition ou d’une boucle comporte une seule instruction, j’utilise les accolades. Cela évite de les ajouter si on rajoute une instruction mais ça évite surtout des arrachages de cheveux futurs.
Espaces
La, c’est un peu freestyle. J’utilise parfois des espaces pour séparer les paramètres dans une fonction, séparer les instructions dans une boucle for, autour des opérateurs de comparaison mais pas toujours ! Ca doit dépendre de mon humeur du moment… Par contre, je place un espace après le nom des structures de contrôle pour ne pas les confondre avec des déclarations de fonction (voire les exemples plus haut).
Guillemets
J’utilise toujours les simple quotes sauf si je n’ai pas le choix : variable dans la chaîne, tabulation (\t), retour à la ligne (\n) ou retour chariot (\r), etc. Ce n’est pas seulement une convention, c’est plus performant de bosser comme ça (enfin, c’est ce qu’on m’a dit, je n’ai pas fait de benchmarks, j’avoue).
Commentaires
Je suis mauvais élève pour ça. J’écris peu de commentaires. Je me dis toujours que je commenterai comme un fou et que je générerai de la documentation avec phpDoc mais je le fais rarement (jamais en fait). Par contre, quand un client m’ennuie, je mets des insultes à son égard dans les commentaires (je déconne).
En gros, je suis assez pointilleux sur certains points mais pas du tout sur d’autres. Y a t-il de bonnes pratiques officielles à ce sujet ? Quoi qu’il en soit et je répète ce que j’ai déjà lu à de nombreux endroits : peu importe la convention qu’on utilise, l’important est d’en suivre une et de s’y tenir.
Je refile la chaîne à qui le veut.