
Bonnes pratiques
Vous êtes ici : Accueil / Cours / Cours de Javascript / Débuter en Javascript
Dosez bien vos commentaires
Le but ultime d’un programme de qualité est d’avoir du code tellement clair que les commentaires sont inutiles. Cependant, en attendant d’atteindre ce niveau que personne n’atteindra probablement jamais, il est nécessaire de commenter son code.
Il est inutile de préciser combien les commentaires sont utiles dans le cadre du travail collaboratif. Sachez également que les commentaires sont également très important pour votre propre compréhension du code : il est facile de comprendre un algorithme que l’on est en train de programmer dans le feu de l’action. Il vous arrivera très souvent de devoir vous replonger dans d’anciens programmes pour les améliorer ou tout simplement corriger quelques bugs. Vous ne tarderez pas à vous demander ce que vous étiez en train de penser lorsque vous avez conçu cet algorithme, car vous ne comprenez plus du tout sa logique. Si vous aviez pris le temps de rajouter quelques lignes de commentaires au début des parties importantes, vous gagneriez parfois des journées entières de travail fastidieux.
Attention, ne tombez pas dans l’excès inverse : trop de commentaires tue les commentaires. Il arrive parfois de trouver sur internet des codes tellement remplis de commentaires qu’il faut vraiment se concentrer pour arriver à trouver les quelques lignes de codes qui se cachent parmis ces grands discours.
Prenez donc l’habitude de commenter le code par blocs, exprimant de la manière la plus concise possible les éléments clés pour sa compréhension.
Voici un exemple à éviter à tout prix :
contenant le texte Hello World */
alert( 'Hello World' ); // Affiche 'Hello World'
// Fin de l'affichage Hello World
Nommez bien vos identificateurs
Les conventions de nommage des identificateurs varient en fonction du contexte.
Si vous êtes dans un contexte de programmation orientée objet, les objets, propriétés et méthodes se nomment en "camel caps" commençant par une minuscule, tandis que les nom de classe commencent par une majuscule :
monObjet.maPropriete = 5;
monObjet.maMethode();
</code>
En programmation procédurale, le séparateur de mots est le underscore. La programmation procédurale concerne les fonctions n'appartiennant donc pas à des objets
<ccode(javascript)>
function ma_fonction() {
}
Quel que soit le contexte, les constantes doivent se nommer en majuscules avec des underscores comme séparateurs. Cette convention est d’autant plus importante qu’il n’existe pas de syntaxe particulière pour définir une constante en Javascript ( il existe quelques moyens, mais sont actuellement trop dépendants du navigateur ) :
N’hésitez pas à créer des fonctions
Une fonction n’est pas seulement un moyen de vectoriser le code. Il permet également de le clarifier par 2 aspects : le cerveau peut mieux modéliser les actions en se les représentant par petits groupes logiques, mais également un identificateur est associé à chaque fonction, et il est plus lisible de lire tournerGauche() plutôt que i += 45 ;
Lorsque vous ouvrez une accolade, fermez-la immédiatement
Je parle de l’accolade, bien entendu. En effet, il arrive souvent d’imbriquer des structures de contrôle et à la fin, il est difficile de savoir quelles sont les accolades qu’il reste à fermer. L’ajout d’une accolade fermante dès le début permet d’éviter de perdre inutilement du temps.
Indentez votre code
Il est inutile de faire un Laïus sur les bénéfices de l’indentation. Les résultats parlent d’eux-même. En revanche, il existe plusieurs styles d’indentation. Il est important que vous en adoptiez un et que vous vous y teniez. Il est en effet important de normaliser son code.
Voir les styles d’indentation.
Respectez une syntaxe stricte
Le Javascript est un langage assez souple au niveau de la syntaxe, notamment au sujet de l’ajout des point-virgules à la fin des instructions.
Même si l’interpréteur ne retourne pas de message d’erreur, il est probable qu’un autre navigateur refuse la syntaxe. Respectez donc la syntaxe pour une plus grande compatibilité.
Exemple :
Le code suivant fonctionne sous Mozilla Firefox, mais pas sous Internet Explorer car il ne faut pas qu’il y aie de virgule après la seconde propriété.
prop1 : 1,
prop2 : 3,
}
alert( o.prop2 );
Adoptez la syntaxe la plus adéquate
Il existe plusieurs manières de coder un même algorithme. La permissivité des langages permet aux développeurs de choisir leur style. En revanche, certaines habitudes sont à prendre.
Il est toujours possible de n’utiliser que des if sans else :
// Si oui
}
if( !condition ) {
// Si non
}
Lorsqu’un développeur voit la syntaxe précédente, il ne va pas lui venir immédiatement à l’esprit que forcément un des 2 blocs va être exécuté. Avec le else, il le saura au premier coup d’oeil.
De même, un switch peut être codé avec des if..else if .. else if .. Comment choisir si l’on doit utiliser un if...else if ou un switch ?
Certaines personnes conseillent d’utiliser des switch à partir de 3 conditions. Je pense personnellement qu’il faut se poser la question suivante pour choisir l’une ou l’autre des structures : Testons-nous un ensemble fini de valeurs ou vérifions-nous une suite de conditions ?
Si l’on teste un ensemble fini de valeurs, je vous conseille d’utiliser un switch, quand bien même il n’y aurait que 2 valeurs testées. En effet, il se peut que le nombre de valeurs à tester évolue, et votre code n’en sera que plus lisible et le développeur saura de premier coup d’oeil ce à quoi il aura affaire.
if( x == 2) {
}
else if( x == 3 ) {
}
// Code à utiliser car plus évolutif
switch( x ) {
case 2 :
break;
case 3 :
break;
}



