Bonjour à tous,
Sur une très grosse application, avec un coeur de métier très vaste et très labyrinthique, je chercher à créer une documentation carrée et nickelle.
Sur le principe, c'est assez simple à faire sauf pour une chose :
Imaginons :
Une fonction A qui appelle
Une fonction B qui appelle
Une fonction C
Une fonction B2
Imaginons maintenant que la fonction C lève une exception spécifique.
Si je documente la fonction C, j'ajoute la balise déclarative pour exception et je lui met une description.
Par contre, lorsque je vais géréner la documentation globale, la fonction A ne stipulera pas qu'elle peut lever une exception spécifique (par bubbling de la fonction C vers la fonction A).
On pourrait très bien dire : bah documentes chaque fonction qui appelle la fonction C et fait de même pour les fonctions qui appellent les fonctions qui appellent fonction C et ainsi de suite.
Le problème c'est qu'à maintenir c'est la zone complet ! Là l'exemple est simple avec 3 niveaux d'appels mais dans certains cas on part dans les tréfonds de l'appli avec je ne sais combien de niveaux et dans le dernier niveau il y a une exception spécifique qui peut être lancée.
Si je modifie cette fonction, il faut que je recherche tous les appelants, que je les documente, puis que je fasse de meme avec les appelants des appelants et ainsi de suite.
Bref, quelle serait la meilleure solution pour pouvoir documenter de façon la plus complète les fonctions "point d'entrée" pour prendre en compte toutes les exceptions qui pourraient potentiellement être levées par les sous fonctions (en tout cas, exceptions qu'on leve explicitement dans l'appli, pas les autres) ?
Partager