Conventions de nommage
Glissez pour afficher le menu
Bonnes et mauvaises conventions de nommage
Comme pour les variables, il est possible de nommer les paramètres de template comme on le souhaite. Cependant, respecter les conventions de nommage améliore considérablement la lisibilité et la maintenabilité du code. Voici quelques bonnes et mauvaises pratiques à prendre en compte.
main.cpp
1234template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }
Vous pourriez vous demander pourquoi T est considéré comme un meilleur choix de nom que Type, même si ce dernier semble plus explicite. La raison est simple : T est une convention largement acceptée qui signifie Type. Cela indique immédiatement que le paramètre de template représente un type, ce qui est familier pour la plupart des développeurs. Il est également courant d'utiliser U ou V si T a déjà été utilisé.
Nommage descriptif
Lorsque plusieurs paramètres de template sont utilisés et que leur utilité n'est pas immédiatement évidente, il est recommandé d'utiliser des noms descriptifs précédés de T.
main.cpp
1234template<typename TKey, typename TValue> void map() { // Function implementation }
En consultant la documentation de certains templates, il est possible de remarquer que certains développeurs ajoutent un underscore (_) avant le paramètre de type afin de le rendre plus distinct. Cette pratique peut également être adoptée. Cependant, l'aspect le plus important reste de maintenir la cohérence dans l'ensemble du code. Choisir un style de nommage et s'y tenir.
Class et typename
Les mots-clés class et typename sont utilisés dans les déclarations de templates. Ils sont interchangeables dans ce contexte.
main.cpp
12345template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }
Historiquement, le mot-clé class était la seule option disponible pour définir les paramètres de template. Par conséquent, vous pouvez rencontrer ce mot-clé dans du code plus ancien. Cependant, lors de la création de templates, le mot-clé typename est souvent préféré pour sa clarté, c'est donc celui que nous utiliserons.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion