Annotations en Java

Mieux documenter le code avec annotations

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

PHP, et plus précisément les frameworks de ce langage, a tenté d'introduire un système d'annotations. Il s'agit d'une couche analysée, traduite en code PHP et mise dans un cache fichier. Le cœur du framework passe ensuite par cette couche supplémentaire afin de, par exemple, récupérer les informations sur une table dans la base de données ou sur les champs à valider pour un formulaire.

En Java c'est tout l'inverse. Il s'agit de notes qui sont lues par de différents outils tels que le compilateur par exemple. Ce sont donc des informations sèches qui sans aucune intervention matériel ne font rien. Elles commencent par le caractère "@".

Trois annotations sont utilisées par le compilateur Java : - @Deprecated : elle se réfère à l'élément qui ne devrait plus être utilisée dans l'application. Au moment de compilation, il génère un avertissement du type : Note: Annotations.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Cependant, cette alerte n'empêche pas le code à s'exécuter. Son rôle est juste instructif. - @Override : elle indique qu'un élément doit être surchargé dans une autre classe. Contrairement à @Deprecated, elle génère une erreur de compilation. Annotations.java:45: method does not override or implement a method from a supertype @Override - @SuppressWarnings : elle permet de ne pas afficher les alertes pendant la compilation. Elle peut prendre comme paramètre soit deprecation (supprime toutes les alertes liées à @Deprecated), soit unchecked (n'affiche pas des alertes liées à des opérations qui peuvent causer des problèmes à l'exécution). Voici l'exemple d'une alerte pour l'opération non vérifiée : Note: Annotations.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.

Voici l'exemple du code contenant ces trois principales annotations :

afficher le code

Les annotations peuvent être attachées à 3 états : - Class : elles seront compilées et inclues dans le code du .class de notre code - Runtime : elles sont exécutées au moment d'exécution du code - Source : elles ne seront pas accessible dans le code des .class de notre code

Création des annotations

On peut également construire des annotations propres à notre application. Pour ce faire, il suffit d'utiliser @interface qui définit les éléments de l'annotation personnalisée. Regardons cela sur un exemple :

afficher le code

La mention @Documented indique que l'annotation créée sera accessible dans Javadoc générée. Grâce à elle les développeurs passant par le code et familiers avec le système d'annotations Java, pourront facilement découvrir les caractéristiques du fragment concerné.

Pour résumer, on peut dire que des annotations sont une sorte de langage propre au programmeurs. Elles servent à communiquer de l'équipe à l'équipe quelle direction devrait prendre l'application. Cela est très utile non pas seulement dans de grands systèmes internes, mais aussi dans tout système open source, capable d'être repris par n'importe qui.

Bartosz KONIECZNY Informations sur le langage

Une question ? Une remarque ?

*

*

Un conseil JavaScript

Comment supprimer un élément du tableau JavaScript ?

PHP a sa méthode unset() pour supprimer un élément du tableau. JavaScript n'est guère plus compliqué. Pour supprimer n'importe quel élément il suffit d'utiliser l'opérateur delete :

delete myArray[key];
On peut également utiliser la méthode pop() qui va automatiquement supprimer le dernier élément de notre Array(). On peut également enlever le premier élément du tableau en utilisant shift().