Page 1 sur 1

une question d'expérience

MessagePublié: 16 Juil 2003 à 11:19
par virginie
Je suis en train de faire ma première application sous domino et j'hésite sur certains choix de programmation. N'ayant aucune expérience, je me suis dit qu'il serait plus judicieux de demander ici, puisque vous avez plusieurs années de programmation derrière vous.Voilà plus précisemment de quoi il s'agit: l'application(ou plutot son exécution) est constitué d'un document principal qui suit un circuit de validation refus. A plusieurs étapes de ce circuit, je retrouve le même enchainement logique à savoir soit un refus utilisateur qui renvoie à une étape précédente, soit une validation qui passe le document à l'étape suivante.J'ai deux masques : l'un le principal contenant le document qui suit le circuit, et un deuxième qui est une réponse pour les étapes où il y a validation refus utilisateur.J'ai 3 étapes de validation.J'ai donc fait 3 actions sur le masque principal : demander validation etape1, demander validation etape2, demander validation etape3. Ces actions ouvrent le masque secondaire(elle ne font pas que ca).Sur le masque secondaire, j'ai pour chaque validation, la possibilité de valider ou de refuser soit : valider etape1, valider etape2, valider etape3, refuser etape1, refuser etape2, refuser etape3.L'une des contraintes fondamentales à intégrer dans le développement est de faire quelque chose de simple, étant donné que ce sera quelqu'un d'autre qui assurera la maintenance de l'application et que cette personne doit y passer le moins de temps possible.Je me demande donc quel est le meilleur choix :- faire une action pour chaque étape de validation (comme j'ai décrit au dessus) et donc avoir 3 actions de validation et 3 actions de refus distinctes. Le code de ces actions ferait appel à un agent pour ne pas répéter inutilement certaines lignes de code communes à toutes les actions. Et les utilisateurs de l'application aurrait des boutons avec des noms bien définis indiquant l'étape à chaque validation. Mais cela fait 6 actions à regarder pour la personne qui reprendra l'application.....et d'un autre coté, chaque action, de par son nom, renvoie clairement à l'étape que l'on traite.....- ou ne faire que deux actions, valider et refuser, le code ne serait que dans ces actions et non pas dans un agent, je saurrai le nom de l'étape en allant récupérer la valeur dans un champ, mais l'utilisateur aurra toujours à faire aux deux mêmes boutons sans que leurs noms n'indiquent l'étape à valider(le nom de l'étape est cependant dans le masque). Cette solution diminue le nombre " d'endroit" où il y a du code.....Qu'en pensez-vous?Merci de votre aide.

Re: une question d'expérience

MessagePublié: 16 Juil 2003 à 11:27
par Raziel
Il est clair que l'étape 2 est plus clean car évite la redondance. Maintenant, si c'est juste 6 bts avec les libellés différends et chacun ne contenant qu'une simple ligne de code (ligne appelant soit un agent soit une fct contenu dans une bib), la différence entre les 2 solutions n'est que très légère (la 1ère ayant en plus dans ce cas l'avantage d'afficher une libellé en rapport avec l'action).Je ne comprends pas lorsque tu dit "Mais cela fait 6 actions à regarder pour la personne qui reprendra l'application"Si ton code se trouve dans un agent (ou une bib de script), il lui suffira d'aller dedans afin de visualiser le script.

Re: une question d'expérience

MessagePublié: 16 Juil 2003 à 11:51
par virginie
oui mais avant de voir qu'il y a un agent, cette personne verra dans le masque les 6 actions, et ce n'est qu'une fois qu'elle sera allé dans chaque action qu'elle vera qu'elles font toutes appel au même agent...Je sais que c'est un peu tiré par les cheveux mais bon......En fait pour la solution 1, et après réflexion, il y aurrait plusieurs agents....l'un pour la validation, l'un pour le refus, l'un pour la demande de validation.....Et on fera appel à un agent différent suivant le type d'action : refus validation...De plus, avec le choix 2, si un jour, cette personne souhaite modifier une étape entière de validation , elle devra modifier "en profondeur" le code des actions valider refuser ....voir rajouter une autre action....et il y aurra moins de cohérence dans le programme...... mais avec le choix 1, si elle veut supprimer une étape, elle n'aurra quasimment qu'à supprimer les actions associées à cette étape....et n'aurra pas à modifier les 3 agents........Bref, je suis très indécise!Merci de ton aide.