26-2 Documenter les classes générales (services et cie)
Documenter l'en-tête
Pour documenter une classe, on commence par l'en-tête de la classe.
Pour écrire un bloc de commentaire, il est possible de commencer à taper /**
soit devant ou juste à côté de ce qui est à commenter et appuyer sur enter
. Cela créera automatiquement le bloc de commentaire.
Ensuite, utilisez une description pertinente de la classe.
/**
* Ce service permet d'effectuer les appels d'API pour les projets.
*/
@Injectable({
providedIn: 'root'
})
export class ProjetService {
Documenter une fonction et son type de retour (@returns
)
Pour documenter une fonction, vous pouvez utiliser le même raccourci, soit commencer à taper /**
et appuyer sur enter, à côté ou devant la fonction.
Cela inclura automatiquement le type de retour et la mention @returns
:
/**
*
* @returns {Promise<Projet[]>}
*/
async obtenirTous(): Promise<Projet[]>{
let url = "/projets";
let reponse = await api.get(url);
let projets = reponse.data.records.map((record: any) => {
return record.fields;
});
return projets;
}
@returns
permet de documenter le retour. Vous pouvez mettre entre accolades ({}
) le type de retour de la fonction.
Finalement, vous pouvez poursuivre en documentant le rôle de la fonction, ainsi que de donner plus de contexte sur le retour.
/**
* Effectue la requête d'API permettant de retourner tous les projets.
* @returns {Promise<Projet[]>} Promise représentant la liste des projets
*/
async obtenirTous(): Promise<Projet[]>{
let url = "/projets";
let reponse = await api.get(url);
let projets = reponse.data.records.map((record: any) => {
return record.fields;
});
return projets;
}
Documenter une fonction et ses paramètres (@param
)
Si vous avez une fonction avec des paramètres, WebStorm sera d'une grande aide encore pour préciser les paramètres dans la documentation.
/**
*
* @param {string} id
* @param {Projet} projet
* @returns {Promise<Projet>}
*/
async modifier(id: string, projet: Projet): Promise<Projet> {
let url = `/projets/${id}`;
let requeteAirtable = {
fields: projet
};
let reponse = await api.patch(url, requeteAirtable);
return reponse.data.fields;
}
@param
permet de définir un paramètre, avec le type entre accolades.
Comme pour le type de retour, documentez les paramètres.
/**
* Effectue la requête d'API permettant de modifier un projet.
* @param {string} id L'identifiant du projet à modifier
* @param {Projet} projet Le projet modifié
* @returns {Promise<Projet>} Promise représentant le projet modifié
*/
async modifier(id: string, projet: Projet): Promise<Projet> {
let url = `/projets/${id}`;
let requeteAirtable = {
fields: projet
};
let reponse = await api.patch(url, requeteAirtable);
return reponse.data.fields;
}