Salut tout le monde,
J'ai suivi la discussion à propos du gestionnaire de messages. Je ne suis
pas sûr d'avoir tout compris mais j'aimerais faire une proposition.
Ma proposition part de deux remarques :
- actuellement, le développeur doit fixer le niveau de détail du message
qu'il veut afficher. Comme vous l'avez fait remarquer, tout cea est assez
subjectif et pose un certain nombre de problèmes. J'ai l'impression que
votre solution consiste à "déplacer" le niveau de détail fixé par le
développeur pour qu'elle suive la logique de l'exécution (appel d'une
commande à partir d'un module, ...). Le développeur se casse donc la tête à
fixe un niveau de détail pour le voir ensuite modifier. A vrai dire, cela me
paraît "bizarre" comme fonctionnement.
- l'affichage complet du message se décompose en deux appels de fonctions.
Le premier appel est celui de l'affichage du message (print_msg). En quelque
sorte, cet appel de fonction "ouvre" le message. Le deuxième appel est celui
de l'affichage du résultat du message (print_status). En quelque sorte, cet
appel de fonction "ferme" le message.
Partant de ces remarques, mon idée est la suivante.
La fonction print_msg ne prend plus qu'un seul argument : le message. Le
niveau de détail, trop subjectif et surtout trop relatif aux autres
messages, sera calculé par le gestionnaire de messages. Ainsi, le
gestionnaire de messages conserve le niveau de détail (et donc le niveau
d'indentation) en variable globale.
Lorsque print_msg est appelé, le message passé en argument est affiché (avec
la bonne indentation) et le niveau courant est incrémenté.
Lorsque print_status est appelé, le résultat passé en argument est affiché
et le niveau courant est décrémenté.
C'est un peu comme le système de parenthèses. Une fonction ouvre la
parenthèse. Si cette même fonction est appelée, une sous-parenthèse est
ouverte. Lorsque l'autre fonction est appelée, la dernière parenthèse
ouverte est fermée.
Pour l'utilisateur :
- INFO --> on n'affiche que les messages de niveau 1
- DETAIL --> on n'affiche que les messages de niveau 2
- FULL --> on affiche les messages de tous les niveaux
D'autre niveau "utilisateur" pourrait être rajouté (par exemple, "MAIN"
comme le suggérait Gontran).
Je ne sais pas si ma proposition répond bien aux problèmes posés. C'est un
peu une proposition naïve. Vous pouvez la jeter si elle ne vous plaît pas.
A+
--
Julien
_________________________________________________________________
Ne cherchez plus, trouvez ! Avec le nouveau MSN Search.
http://search.msn.fr/