Ce repo a pour but de proposer un exercice de refactoring une classe KeyWordService.
Prérequis :
- Java 11
- Maven
mvn clean installIci pas de main, juste une suite de tests à faire passer pour valider le bon fonctionnement de l'installation du projet.
Cette classe a pour but de retourner un sous objet (ou le résultat d'une méthode) à partie du chemin d'accès (@fieldPath).
Exemple :
KeyWordService.getObjectFromPath(user, "company.getAddress().name")Dans l'exemple ci-dessus on accède dans un premier temps à l'attribut company de l'objet user passé en paramètre. Puis on accèdera à la méthode getAddress (retournant l'adresse de la company) du sous objet company.
Enfin on accèdera à l'attribut de classe name.
Vous aurez pour misson de refactor la classe KeyWordService en appliquant toutes des techniques des clean code connues. Il est donc normal que certaines parties du codes paraissent peu explictes, simplifiables ou même inutiles.
Il sera ensuite demandé de justifier les choix fait l'oral.
Une suite de tests basique (avec JUnit) a déjà été initialisée mais le candidat est libre de créer ses propres tests ou de compléter des tests existants. Tous les tests déjà présents devront être valides suite au refactor.