AccueilđŸ‡«đŸ‡·Chercher

Annotation (informatique)

En programmation, une annotation est un Ă©lĂ©ment permettant d'ajouter des mĂ©ta-donnĂ©es Ă  un code source. Selon le langage de programmation et ce qu'a choisi le programmeur, elles peuvent ĂȘtre accessibles uniquement lors de la compilation, prĂ©sentes uniquement dans le fichier compilĂ©, voire accessibles Ă  l'exĂ©cution. Cette technique est une alternative aux fichiers de configuration, souvent Ă©crits dans des formats tels que le XML ou le YAML.

Selon le langage, les annotations peuvent ĂȘtre ajoutĂ©es aux classes, mĂ©thodes, attributs, paramĂštres, variables locales et paquetages ou mĂȘme aux annotations elles-mĂȘmes.

Les annotations ou leurs Ă©quivalents existent pour Microsoft .NET (attributs .NET), Java (depuis la version 1.5), PHP (depuis la version 5[1]) et Python (decorators).

Des équivalents existent pour le langage C aux travers des attributs, qui sont des extensions non standard au langage C. Ils sont moins puissants que les annotations car spécifiques au compilateur utilisé et ils ne sont accessibles qu'à la compilation. Par exemple, GCC propose des attributs pour les fonctions[2], variables[3] et types[4].

Pour et contre les annotations

Avantages

  • Les annotations permettent aux programmeurs de dĂ©clarer dans leur code source comment leurs programmes doivent se comporter. C'est un exemple de construction dĂ©clarative.
  • Elles suivent le principe DRY, regroupant ainsi les mĂ©ta-donnĂ©es avec le code auxquelles elles s'appliquent. Les mĂ©ta-donnĂ©es restent normalement toujours synchronisĂ©es avec le code.
  • Elles peuvent ĂȘtre gĂ©nĂ©rĂ©es automatiquement (ex : par Javadoc).

Inconvénients

  • L'ajout de mĂ©ta-donnĂ©es dans un fichier compilĂ© ou dans la mĂ©moire Ă  l'exĂ©cution requiert des ressources mĂ©moire additionnelles.
  • Il y a peu de standards dictant comment ces mĂ©ta-donnĂ©es doivent ĂȘtre employĂ©es.

Références

Voir aussi

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.