2.1 Les commentaires |
See You Why? |
Le lecteur, qui est sensé avoir des connaissances de base en langage HTML, doit connaître l'instruction qui permet de commenter des portions de code HTML
<!-- me permet de placer un commentaire sur la suite des instructions --> en HTML.
Non, il ne s'agit pas des commentaires que ferait un prof d'informatique à propos du programme qu'il traite... quoique...
« Les commentaires sont, en programmation informatique, des portions du code source ignorées par le compilateur ou l’interpréteur, car ils ne sont pas nécessaires à l’exécution du programme. »
Et le code source est la forme sous laquelle un programme est créé par un programmeur, dans un langage compréhensible : un ensemble de textes décrivant formellement, étape par étape, les opérations à effectuer, rédigées conformément aux règles d'un langage de programmation.
Un exemple de commentaire en HTML sans Javascript :
<!-- qui marque le début du commentaire et
--> qui termine le commentaire :
Tout ce qui est compris entre <!-- et --> sera un commentaire, ignoré par le navigateur (ou browser) utilisé pour la lecture des pages HTML.
Exemple
|
Un exemple de page HTML intégrant du Javascript :
Exemple
|
Les commentaires peuvent avoir plusieurs utilités pratiques :
Quoi de plus triste qu'une suite de code sans commentaires, où les noms de variables et/ou des fonctions n'ont aucun sens, où l'indentation est inexistante ou mal appropriée ? lequel de ces deux programmes sera le plus lisible... même s'ils exécutent exactement la même chose ?
Le premier :
<script type="text/javascript"><!-- function f(i,a){ if(!document.getElementById||!document.getElementsByTagName)return; var c=document.getElementById(i),l=c.getElementsByTagName(a); if(!l)return;var b=l.length-1;for(b;b>=0;b--){if(!l[b].href) continue;window.alert(l[b].href);} //--></script>
Le second :
<script type="text/javascript"><!-- // Alerte de l'url pour chaque élément d'un conteneur function fnRecapLinks(sId, sLink) { // Test des méthodes // si les méthodes DOM ne sont pascomprises par le navigateur if(!document.getElementById || !document.getElementsByTagName) { return; // sortie de la fonction } // Tableau récapitulatif des éléments 'sLink' du conteneur 'sId' // sinon, 'oCont' prend la valeur de l'identifiant transmis à la fonction var oCont = document.getElementById(sId); // et 'aLinks' prend la valeur du lien transmis à la fonction var aLinks = oCont.getElementsByTagName(sLink); if(!aLinks) { return; } // Lancement d'un message d'alerte sur chaque item du tableau aLinks var iI = aLinks.length - 1; // boucle à indice dégressif for(iI; iI >= 0; iI--) { if(!aLinks[iI].href) { continue; } window.alert(aLinks[iI].href); } } //--> </script>
L'utilisateur, même s'il n'a jamais eu l'occasion de traiter le moindre programme JavaScript, aura plus d'aisance à suivre les étapes de cette fonction... des explications suivront concernant la manière d'encoder des instructions (voir début "instructions"), concernant la création de fonctions en JavaScript (voir "fonctions"), la transmission de paramètres à des fonctions (voir "paramètre" et "paramètres multiples"), concernant la construction de boucles (voir "boucle FOR", "boucle WHILE") et concernant les tests et/ou conditions pour qu'une partie d'un programme s'exécute (voir "condition IF")... et bien d'autres choses encore ;o)
Considérez donc les commentaires comme une aide... de la même façon que l'on emploie des 'post-it' ou des titres et sous-titres dans un développement d'idées...
Deux manières de noter des commentaires en JavaScript :
Les habitués de la programmation noteront un commentaire sur une seule ligne, derrière une balise // (double slash) éventuellement placée en début de ligne... ainsi, pour la construction du menu permanent du site CUY, on verra des lignes telles que :
//s'exercer --------------------------------- sitems[2][0]= 'Un test HTML'; sitems[2][1]= 'Requêtes Access SQL'; sitems[2][2]= 'Comptabilité exercices et solutions';
On acceptera aussi le commentaire situé en fin d'instruction (donc après le point-virgule de fin d'instruction [voir plus loin]) ; le double slash suivra donc le point-virgule de fin d'instruction et le commentaire devra s'écrire en fin de ligne... ainsi, dans ce même programme, on lira :
sitemcomm = new Array; sitemcomm[0] = new Array;//sous menu cours sitemcomm[1] = new Array;//sous menu telecharger sitemcomm[2] = new Array;//sous menu s'exercer
Si l'on estime que le commentaire prendra plusieurs lignes, on préférera l'usage des commentaires entre les balises /* et */ (la balise ouvrante /* et la balise fermante */) qui, quel que soit le nombre de lignes, commenceront un commentaire qui pourra se terminer plusieurs lignes plus loin...
Ainsi, avant plusieurs lignes de programmation (toujours relatives au menu permanent qui s'affiche sur toutes les pages du site CUY), on pourrait ajouter le commentaire suivant :
/* cette partie se compose de plusieurs tableaux (4 tableaux) chaque tableau permet de renseigner sur le contenu des menus Tous les tableaux doivent avoir la même dimension [i] elementMenu[i] contient le texte du menu principal coord[i] contient les coordonnées en xx d'apparition du sous menu correspondant sitems[i][z] contient le texte du sous menu sitemlinks[i][z] contient le lien correpondant au sous menu sitemcomm[i][z] contient les commentaires des liens du sous menu pour chaque [i], la dimension [z] de sitems et sitemlinks doit être identique */
...les instructions en Javascript suivront alors selon les règles que nous préciserons dans la page "instructions".
IMPORTANT : n'imbriquez jamais de commentaires l'un dans l'autre...
ne faites jamais se chevaucher de commentaires...
c'est la meilleure façon de générer des erreurs de programmation en ôtant ces commentaires...
et n'oubliez pas :
qu'un /* rend tout ce qui suit jusqu'au prochain */ invisible par n'importe quel navigateur ;
qu'un // rend tout le reste de la ligne invisible par n'importe quel navigateur...
... et parfois, pour rendre un programme JavaScript plus difficilement lisible, certains auteurs suppriment certains sauts de lignes... et vive les conséquences désastreuses... un exemple extrait du site eBay en 2002, sans oublier qu'actuellement les techniques de camouflage des sources sont nettement supérieures :
voir suite >>>
voir suite >>>
voir suite >>>
voir suite >>>