JCR est codé en Python et utilise une base de données pour stocker les différents éléments des projets en cours de revue. L'architecture technique de JCR repose sur le concept de l'application web consultable par les différents acteurs d'un projet de revue de code.
Côté utilisateur, JCR propose différents rôles:
- Un administrateur
- Des project owners
- Des reviewers
Une fois cette formalité effectuée, JCR peut accéder aux modifications remontées par les développeurs. Viennent ensuite les project owners qui sont généralement les personnes à l'origine du code : ils soumettent leur travail à l'avis des reviewers.
Ce découpage en rôles est le garant d'une utilisation aisée à grande échelle même s'il peut paraître compliqué dans un premier temps.
Une fois ces paramétrages effectués et les rôles attribués, JCR permet de générer la liste des fichiers modifiés et la présente sous forme de différentiels colorés, ce qui assure une clarté lors de la revue de code. À chaque lecture d'un fichier modifié, un compteur s'incrémente et permet de s'assurer qu'un nombre suffisant de personnes a revu la modification. Les reviewers et les project owners ont aussi la possibilité d'échanger via un système de notes portant sur une modification du code.
Pour l'instant JCR ne supporte qu'un seul gestionnaire de version (SVN), même si l'intégration avec d'autres gestionnaires est prévue. L'interface de JCR peut ensuite se révéler peu intuitive : créer son premier projet s'avère parfois compliqué pour le débutant du fait de l'arrangement des liens. Enfin, la documentation a tendance à être verbeuse et à perdre l'utilisateur curieux.
Le déploiement est simple et efficace : une version standalone pour les plus pressés permet de goûter au produit et de jouer avec ses fonctionnalités. Une fois convaincu, une installation complète permet de passer le jouet en production et de soumettre ses propres projets sans trop d'efforts. Remarquons que JCR supporte pour cela plusieurs SGBD comme SQLite (très utile pour la version standalone), PostgreSQL et MySQL.
Java Code Review est simple dans sa conception et il propose des outils efficaces de revue de code. Même si la configuration de ses premiers projets peut s'avérer déroutante, JCR reste intéressant et devrait trouver plus souvent sa place dans les environnements de développement au bénéfice de la qualité des projets informatiques.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.