Eclipse : organiser son code avec les Catégories

Je viens de découvrir une fonctionnalité méconnue d'Eclipse : les catégories.
Grâce à l'annotation javadoc @category, il est possible de définir des groupes virtuels de méthodes et de propriétés au sein des classes Java. Il est ensuite possible de les filtrer dans les vues Outline et Members, afin de n'afficher que ce qui vous intéresse.

Cette astuce peut être très pratique lorsque vous naviguez dans une classe imposante, et que vous cherchez à en comprendre la structure.
Pour peu que le code soit mal organisé, il se peut très bien que des méthodes métiers soient perdues au milieu des accesseurs, et que vous passiez à côté par inadvertance.

Lire la suite...

MultiValueMapBuilder

Aujourd'hui, je vous propose une petite classe utilitaire permettant de simplifier l'insertion d'éléments dans des collections (List, Set, Map) elle-mêmes placées dans des Maps.

Ce genre de structure n'est pas rare, dès lors que l'on manipule des données complexes :

  1. Map<City, List<String>> streetNamesByCity;
  2. Map<Department, Set<Employee>> employeesByDepartment;
  3. Map<Employee, Map<Date,VacationType>> vacationsByEmployee;

Insérer un élément dans une sous-collection est simple mais un peu fastidieux et répétitif : il faut vérifier si la sous-collection existe, la créer et l'insérer au besoin, puis -enfin- y insérer le nouvel élément...

Lire la suite...

Java : les modificateurs de visibilité

Si j'en crois les statistiques de Google Analytics, les modificateurs de visibilité sont un grand sujet d'interrogation parmi les développeurs Java, et reviennent régulièrement parmi les mots-clés menant au blog.
Voici donc un schéma récapitulatif (pdf et png) que vous pourrez imprimer et scotcher sur le côté de votre écran, les murs de votre bureau, ou dans les toilettes pour passer le temps de manière utile !

Lire la suite...

Eclipse tips #2

Lorsque l'on travaille sur de nombreux projets, la vue affichant le contenu du workspace d'Eclipse devient rapidement illisible.
Dans ce cas, plusieurs solutions sont communément adoptées :

  • Fermer les projets inutilisés et filtrer leur affichage ; cette solution n'apporte évidemment pas grand chose lorsque l'on doit travailler sur plusieurs projets simultanément.
  • Répartir les projets dans plusieurs workspaces ; mais tout le paramétrage d'Eclipse doit alors être refait dans chaque workspace, et il n'est pas possible de les synchroniser automatiquement.

Nous allons explorer ici une troisième voie : l'utilisation de Working Sets, qui permettent de conserver tous les projets au sein d'un même workspace physique, tout en offrant une grande souplesse dans le choix des ressources affichées.

Lire la suite...

Eclipse tips #1 : save actions

"Save actions" est une nouvelle option introduite avec Europa (Eclipse 3.3), qui simplifie la vie du développeur.

Elle permet de définir un ensemble d'actions qui seront effectuées à chaque sauvegarde d'un fichier source Java, comme par exemple :

  • Formatage du code
  • Nettoyage des imports : suppression des imports inutiles, réordonnement...
  • Ajout des parenthèses autour des conditions, et des accolades autour du corps des tests et boucles
  • Ajout des mots-clés final et this si nécessaire
  • Suppression du code inutile : variables locales inutilisées, "casts" superflus...
  • Java 5+ : conversion automatique des boucles en boucles améliorées, ajout de l'annotation @Override...
  • ...
Lire la suite...

Archives

Contacts

Olivier Croisier : mail, site
HollyDays : mail
Wikio - Top des blogs - Logiciels libres