Bonjour,
Dans une interface, je génère un arbre en fonction de résultats SQL sachant que la profondeur de l'arbre est constante et que seul le nombre d'élément affiché sur les noeuds varie. J'ai donc créé un objet représentant une ligne de l'arbre.
L'arbre affiche plusieurs informations sur chacun de ses noeuds. Il se présente sous la forme :
Du coup mon objet représentant une ligne contient toutes les infos affichées de la racine, de son noeud père et du sous-noeud. Je me retrouve donc avec un constructeur énorme (~20 param à l'heure actuelle). Plus ça va et plus on me demande de rajouter encore des choses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 (Racine) Info1 --> (Noeud1) Info2 - info3 - info4 --> (Noeud2) Info2 - info3 - info4 --> (Sous-Noeud2-1) Info6 --> (Sous-Noeud2-2) Info7 --> (Sous-Noeud2-2) Info8 . . .
Le développeur, aimant faire du code propre, qui sommeille en moi me dit que je pourrais faire mieux, que ce n'est pas très "propre" ni facilement compréhensible pour une autre personne .
Une solution à laquelle j'ai pensé serait d'éclater ma classe en plusieurs autres classes. J'aurai alors une classe pour la racine, une pour le niveau 1 et une autre pour le niveau 2 avec chacune ayant des références vers leur père ou inversement. Après ça crée une dépendance forte entre ces éléments mais bon ils n'ont pas vocation à être utilisés ailleurs. "On ne sait jamais" certains me diront mais je ne suis pas sûr que ça vaille le coup de pousser la réflexion aussi loin.
Auriez-vous une idée/suggestion à proposer ?
Ce post se veut purement informatif, c'est histoire de monter en compétence personnellement. Je ne suis pas bloqué par une quelconque erreur. Tout marche correctement. C'est plus une réflexion sur la propreté du code.
Je vous remercie par avance.
Bonne journée.
Partager