Convenciones de Nomenclatura
Desliza para mostrar el menú
Buenos y malos nombres
Al igual que las variables, los parámetros de plantilla pueden recibir cualquier nombre. Sin embargo, seguir las convenciones de nomenclatura puede mejorar significativamente la legibilidad y el mantenimiento del código. A continuación, se presentan algunas buenas y malas prácticas a considerar.
main.cpp
1234template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }
Quizás te preguntes por qué T se considera una mejor opción de nombre que Type, aunque este último parezca más claro. La razón es sencilla: T es una convención ampliamente aceptada que representa Type. Indica de inmediato que el parámetro de plantilla representa un tipo, lo cual es familiar para la mayoría de los desarrolladores. También es común usar U o V si T ya ha sido utilizado.
Nombres descriptivos
Cuando tienes múltiples parámetros de plantilla y su propósito no es inmediatamente obvio, es una buena práctica usar nombres descriptivos con el prefijo T.
main.cpp
1234template<typename TKey, typename TValue> void map() { // Function implementation }
Si revisas la documentación de algunas plantillas, puedes notar que algunos desarrolladores agregan un guion bajo (_) antes del parámetro de tipo para hacerlo más distintivo. También puedes adoptar esta práctica. Sin embargo, el aspecto más importante es mantener la coherencia en todo tu código. Elige un estilo de nomenclatura que prefieras y síguelo.
Class y typename
Tanto class como typename se utilizan en las declaraciones de plantillas. Son intercambiables en este contexto.
main.cpp
12345template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }
Históricamente, la palabra clave class era la única opción disponible para definir parámetros de plantilla. Por ello, es posible encontrar esta palabra clave en código antiguo. Sin embargo, al crear plantillas, la palabra clave typename suele ser preferida por su claridad, por lo que la utilizaremos.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla