Quand on est un Elfe, on doit soigner son langage.
Les Orcs et les Goblins peuvent parfois paraître assez grossier. Les Elfes se doivent de ne pas se laisser aller, et s’exprimer correctement, nécessite de la rigueur.
Est-ce que vous imagineriez Galadriel s’exprimer comme un Goblin ? Vous vous dîtes peut-être que parce que c’est une guerrière, il ne faut pas s’attendre à cette rigueur dans le langage. Si c’est le cas, vous avez tord, alors apprennez à exploiter le JSDoc pour élever la qualité des échanges entre les Elfes.
/**
* Galadriel est certainement une des plus grande guerrière Elfe que
* la Terre du Milieu est connu.
*/
class Galadriel extends Elf {
state = new GaladrielState();
/**
* Créer une nouvelle Galadriel prête à se battre.
*
* @param {string} id ID de la nouvelle Galadriel
* @param {string} [desktopId] ID du feed
* @returns {Galadriel} la nouvelle Galadriel
*/
async create(id, desktopId) {
this.logic.create(id);
return this;
}
/**
* Engage un combat contre un opposant.
*
* @param {string} opposantId ID de l'opposant à combattre
* @param {Weapon} weapon Arme utilisée pour le combat
* @returns {Health} l'état de santé de Galadriel
*/
async fight(opposantId, weapon) {
/* ... */
return health;
}
}
Les possibilités sont très larges et la documentation officielle de JSDoc
pourra beaucoup vous aider. Dans l’exemple ci-dessus, des types Weapon
et
Health
sont utilisés. Bien entendu pour que cela fonctionne correctement, il
faut les avoir déclaré quelque part par exemple sous forme de classe. Mais il
est aussi possible de le faire avec des objets javascript, typés par JSDoc.
Dans le cadre de VSCodium / VS Code, il est tout a fait possible d’exploiter l’écriture TypeScript dans les définitions JSDoc. Notez que c’est exactement ce qui est fait en interne dans l’implémentation du moteur elfique.