Commentez son code en utilisant UML
Je vais juste parler des commentaires dans le code Java et de l'utilisation d'UML dans une approche UML Structure model du projet entier et pas dans le cadre historique des vues UML.
Pour moi il faut toujours mettre des commentaires dans le code afin de rajouter des informations pertinentes. Je dirai même qu'il faudrait en mettre beaucoup plus. Le problème est que cela polue la lisibilité du code et donc en mettant trop de commentaire on fini par le rendre moins visible. J'ai eu un débat sur ce sujet avec un grand groupe Allemand le mois dernier. Il voulais utiliser maven, une approche de développement continue et faire très très peu d'UML juste pour la documentation et ne pas se prendre la tête à deux mains dans un process de type RUP.
Et là je leur ai proposé de marquer les informations indispensables dans le code mais surtout d'utiliser la structure UML du model et quelques diagrammes commentez pour faire le reste de la documentation. On a été si loin que dorénavant ils vont tout documentez et laisser un code propre et lisible .
Comment on a fait ?:
1. L'idée est de créer quelques diagrammes de Classe sur des points stratégiques nécessitant une documentation approfondi. Ils ont donc reversé le projet en cours, crée des diagrammes et rajouter des notes graphiques.
2. Ensuite le projet a continuer à évoluer mais ils ne voulaient pas passer du temps à modeliser car c'est des codeurs, mais ils voulaient pas non plus perdre la qualité de la documentation. Alors le concept du merge incremental a été utlisé. Il s'agit à un moment T du développement de merger le model UML et le code java. A ce moment et de manière transparente tous les diagrammes crée sont remis à jour automatiquement.
3. En UML ont explique le comment mais pas le pourquoi. Pour inclure cette explication ont a décidé d'utiliser les eannotations sur les classifiers (je veux dire classe, interface, et énumeration), les packages, les associations etc.....L'eannotation est une documentation tapez à la main qui lorsque le dévelopeur click sur un objet sur le diagramme ouvre une vue documentation à côté.
Voilà décrite de manière simple ce que l'un des plus gros développeur de solution java en Europe fait aujourd'hui afin de rendre lisible sont code, de documenter en temps réel ses projets, d'ajouter des informations pertinentes et immédiatement utlisable entre tous les gens de l'équipes (le model est sur SVN) et aussi d'umeliser sont projet afin d'en tirer tous les avantages du MDD en cas de refonte du système lors d'un upgrade ultérieur.
Pour informations les développeurs ne connaissent pas UML, ils ont juste reverser les diagrammes et rajouter des commentaires graphiques. Ensuite il ont écrit leur point de vue dans le model dans le fénétre documentation. Ceci a nécessité 2 heures de formation pour la prise en main de l'outil. En plus on a distingué deux type d'utlisateurs chez Omondo. Des modeleurs classiques et des viewers du modèle qui utilisent juste UML pour la documentation. La license viewer est égal à 10% du prix de la licence modeleur. Il n'y a donc plus de raison économique à ne pas documentez en profondeur son projet avec les méthodes moderne de développement.