J1: éviter les longues listes d'importation en utilisant des caractères génériques
Si vous utilisez deux classes ou plus à partir d'un package, importez le package complet avec
package d'importation. *;
Les longues listes d'importations sont intimidantes pour le lecteur. Nous ne voulons pas encombrer les sommets de nos modules avec 80 lignes d'importations. Nous voulons plutôt que les importations soient une déclaration concise sur les packages avec lesquels nous collaborons.
Les importations spécifiques sont des dépendances matérielles, contrairement aux importations génériques. Si vous importez spécifiquement une classe, cette classe doit exister. Mais si vous importez un package avec un caractère générique, aucune classe particulière n'a besoin d'exister. L'instruction import ajoute simplement le package au chemin de recherche lors de la recherche de noms. Donc, aucune véritable dépendance n'est créée par de telles importations, et elles servent donc à garder nos modules moins couplés.
Il y a des moments où la longue liste d'importations spécifiques peut être utile. Par exemple, si vous traitez du code hérité et que vous voulez savoir pour quelles classes vous avez besoin de construire des mocks et des stubs, vous pouvez parcourir la liste des importations spécifiques pour trouver les vrais noms qualifiés de toutes ces classes, puis mettre les talons appropriés en place. Cependant, cette utilisation pour des importations spécifiques est très rare. De plus, la plupart des IDE modernes vous permettront de convertir les importations génériques en une liste d'importations spécifiques avec une seule commande. Ainsi, même dans le cas hérité, il est préférable d'importer des caractères génériques.
Les importations de caractères génériques peuvent parfois provoquer des conflits de noms et des ambiguïtés. Deux classes portant le même nom, mais dans des packages différents, devront être spécifiquement importées, ou au moins spécifiquement qualifiées lors de leur utilisation. Cela peut être gênant mais est suffisamment rare pour que l'utilisation d'importations génériques soit généralement meilleure que les importations spécifiques.