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/


Répondre à