Reusable Code : concevoir des API réutilisables en Javascript Fonctions et paramètres

Le rôle central de la documentation dans la définition des fonctions et paramètres

Commencez par la documentation. Comment appelle-t-on les paramètres ? Avec la documentation on peut donner des noms cohérents (et ça évite les confusions).

JS Doc, P Doc sont d'excellents outils pour décrire la documentation. La documentation du code avant de coder permet de tester l'API avant même de commencer à écrire le code. On peut facilement vérifier si elle est intuitive grâce à ça.

Soyons vigilent aux termes que nous utilisons : restons cohérents. Donc, pour revenir au Carousel, on a essayé un truc comme :

[javascript]
jToys.carousel('#c', 500, true);

Décrire et documenter les paramètres

Mais qui fait quoi ? On ne voit pas du tout à quoi correspond le second paramètre. Pire elt.cloneNode(true) : on se demande à quoi cela correspond ?

Essayons de faire en sorte que les arguments se lisent bien. Utilisons des objets optionnels pour les arguments :

[javascript]
jToys.carousel('#whatever', {loop: true, speed: 500});

Dans ce cas, ne soyons pas stupides, décrivons et documentons ces paramètres (les générateurs de docs proposent des manières de décrire ça proprement).

Éviter d'avoir des dépendances entre les paramètres

C'est d'autant plus avantageux qu'il est possible de de rajouter des options comme on veut. Utiliser des métaphores c'est une bonne idée quand on a pas trop le choix, mais il faut faire attention à ne pas être mal compris. Pensez à Desktop Wallpaper, le sens fondamental est plutôt débile (Papier peint de bureau...).

Pensons également à l'usage le plus courant en donnant des comportements et des valeurs par défaut à notre objet.

Regardez CSS3, on a overflow-x et overflow-y. Certaines combinaisons de ces propriétés et de leurs valeurs sont incompatibles. Et tout ça devient illisible ! Évitons d'avoir des dépendances entre les paramètres.