C'est notre projet!
Fontaine Jonathan Godet Antoine Gueguen Ronan Lamboley-Gaigneux Camille
Maintenance de AlmaGTD:
-
Copie de classes de GUI provenant de JBoss
Le projet a été créée sans gestion des dépendances, des classes entières de JBoss étaient copiées dans GUI là où elles servaient de dépendances.
Solution : le pom.xml du module GTDServer a été modifié afin de profiter de la gestion des dépendances par maven. Le module JBoss est maintenant une dépendance de GUI.
-
Héritage mal exploité
Une lecture du code a permis d'identifier du code dupliqué non reporté par CPD. Les classes concernées étant principalement celles du package donneesserveur de JBoss.
Solution : comme avec les duplications de code reportées par CPD, la solution a consisté en la migration de méthodes vers des superclasses, qui ont été créées pour l'occasion si besoin.
-
Configurations redondantes de maven
Une section du pom.xml de GTDServer était un doublon de la configuration héritée du module parent.
Solution : suppression des sections concernées.
-
Diverses méthodes non appelées dans DonnesServeur.Projet
De nombreuses méthodes n'étaient jamais appelées dans le code (Issues #6 ; #8 ; #9 ; #10 ; #11 ; #12 ; #13 ; #14)
Solution : suppression de ces méthodes
-
Champ auto-alimenté
Un champ était associé à sa propre valeur
Solution : mauvaise variable : la bonne valeur était celle en paramètre du setter
-
Diverses duplications de code détectées par cpd
De nombreuses classes ayant plus ou moins le même fonctionnement et schéma avaient le même code
Solution : création d'une classe mère pour les concernées répertoriant tout le code dupliqué des deux classes (avec les variables nécessaires). Les classes filles n'ont alors plus que le code qui leur est propre.
-
Utilisation non conseillée d'un keySet
Utilisation déconseillée à plusieurs reprise d'un keySet dans LoadDataServiceImpl (Issues #60 ; 61)
Solution : modification du keySet par un EntrySet (set plus sur des string mais sur une map) et modification de l'itérateur associé
-
Problèmes de nom de variables détectés par pmd
De nombreuses variables avaient des noms trop long ou trop courts (Issues #21,#22,#23#26,#27,#28,#30,#32,#35,#37,#38,#39,#40,#41,#42,#43,#44,#45,#46,#52,#54,#55,#68,#72,#73,#77,#78)
Solution : changement des noms
-
Classe pouvant être internes
Seule la classe ServerRMIImpl utilisait la classe ThreadFactory.
Solution : passage de la classe ThreadFactory comme une classe classe interne de ServerRMIImple
-
Problèmes de code dupliqué détecté par cpd.
Les classes suivantes avaient des problèmes de duplications de code, qui ont été résolues par l'ajout de super classes :
Issue #25 :
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerProjet.java
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerProjet.java
- GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeProjet.java
Issue #26
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerTache.java
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerTache.java
- GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeTache.java
Issue #31
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerTag.java
-
GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerTag.java
- GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeTag.java
Issue #57
- GTDServer/GUI/src/main/java/fr/alma/client/page/HistoriquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/ProjetHistoriquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/TacheHistoriquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/GeneralHistoriquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/IdeeHistoriquePage.java
Issue #58 : les classes filles n'appellent que le constructeur de la classe mère avec les bons paramètres (pour garder la structure du projet).
-
GTDServer/GUI/src/main/java/fr/alma/client/page/IdeeStatistiquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/ProjetStatistiquePage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/TacheStatistiquePage.java
- GTDServer/GUI/src/main/java/fr/alma/client/page/StatistiquePage.java
Issue #63
- GTDServer/GUI/src/main/java/fr/alma/client/page/AbstractConnexion.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/ConnexionErrorPage.java
-
GTDServer/GUI/src/main/java/fr/alma/client/page/ConnexionPage.java
Les classes suivantes ont été refactorées en interne, (ajout de méthode, de classe interne etc)
issue #62
-GTDServer/GUI/src/main/java/fr/alma/server/LoadDataServiceImpl.java
-
-
Problème de structure de conditionnelle
Conditionnelle if superflue ou mal organisée ( if x!=y then...) (Issues: #26,#77,#80)
Solution : Suppression ou changement de la condition.
-
Problème de comparaison de chaînes de caractères
Comparaison entre chaîne de caractère pouvant créer des NullPointeurException (Issues: #80,#70)
Solution : Inverser les chaînes de caractères dans la comparaison.
-
Problème de variables superflues
Variables prenant le résultat de la fonction qui sont ensuite retournées (Issues: #53,#54,#55)
Solution : Suppression de la variable et retour de la valeur.