Wiktionnaire:Modules

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Javascript

Icône des annexes du Wiktionnaire, représentant des ouvrages.

Conventions pour les modules
Voir aussi la page d’aide associée.

icône information Cette page vous présente la nature des modules et les conventions de codage.

Les modules sont des pages contenant des scripts en Lua et servant au fonctionnement de certains modèles.

Pour les conventions sur les tests unitaires, se référer à la page dédiée.

Conventions de nommage[modifier le wikicode]

Le code doit être écrit en anglais afin de faciliter la réutilisation par d’autres wikis non francophones.

Nommage des variables[modifier le wikicode]

Variables locales[modifier le wikicode]

Les variables doivent être nommées selon la notation lowerCamelCase :

  • pas de majuscule au début,
  • majuscule à chaque début de mot.

Par exemple, une variable qui contiendrait le nom d’une langue serait nommée languageName.

La variable d’export (celle qui est retournée à la fin du module) doit être nommée p.

Variables de modules[modifier le wikicode]

Les variables contenant des modules importés suivent les mêmes règles qu’au-dessus mais avec l’ajout d’un préfixe m_ suivi du nom du module. Par exemple, la variable qui contiendrait le module bases serait nommée m_bases. Ce qui donnerait local m_bases = require("Module:bases").

Constantes[modifier le wikicode]

Les constantes doivent être nommées selon la notation suivante :

  • tout en majuscules,
  • un underscore ‹ _ › entre chaque mot.

Nommage des fonctions[modifier le wikicode]

Les conventions de codage recommandent les points suivants :

  • lowerCamelCase,
  • ajouter un underscore au début du nom des fonctions qui ne prennent pas d’objet frame.

L’unique paramètre des fonctions qui sont invoquées depuis les modèles doit être appelé frame.

Indentation, retours à la ligne et espaces[modifier le wikicode]

L’indentation avec 2 ou 4 espaces est fortement recommandée.

Structure des scripts[modifier le wikicode]

Il est recommandé de ne mettre qu’une instruction par ligne, même lorsque cette instruction est courte.

Chaque déclaration de fonction doit être séparée par une ligne vide.

Commentaires et documentation[modifier le wikicode]

Les commentaires et la documentation doivent être écrits en anglais afin de faciliter la réutilisation par d’autres wikis non francophones. La documentation du module (celle rédigée dans la sous-page Documentation) doit être rédigée en français afin que tous les contributeurs francophones puissent la lire sans soucis.

La documentation des fonctions doit utiliser trois tirets (---) au lieu de deux seulement pour les commentaires simples.

Les paramètres doivent suivre un formatage précis :

--- @param <nom param> <type> <commentaire>

Dans le cas du paramètre frame, le format est différent :

--- Parameters:
---  frame.args[<nom param>] (<type>): <commentaire>

Si un paramètre possède des alias, on les met sur la même ligne, séparés par des barres obliques ‹ / ›.

--- Parameters:
---  frame.args[<nom param>]/frame.args[<nom alias>] (<type>): <commentaire>

Dans le cas ou la fonction utilise l’objet frame du parent, ---  frame.args sera remplacé par ---  parent frame.args.

La valeur de retour doit suivre le format suivant :

--- @return <type> <commentaire>