Convenções de Nomenclatura
Deslize para mostrar o menu
Boas e más nomeações
Assim como variáveis, os parâmetros de template podem receber qualquer nome. No entanto, seguir convenções de nomenclatura pode melhorar significativamente a legibilidade e a manutenção do código. Veja algumas boas e más práticas a serem consideradas.
main.cpp
1234template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }
Você pode se perguntar por que T é considerado uma escolha de nome melhor do que Type, mesmo que este último pareça mais claro. O motivo é simples: T é uma convenção amplamente aceita que representa Type. Isso indica imediatamente que o parâmetro do template representa um tipo, o que é familiar para a maioria dos desenvolvedores. Também é comum usar U ou V se T já tiver sido utilizado.
Nomes descritivos
Quando houver vários parâmetros de template e o propósito deles não for imediatamente óbvio, é uma boa prática utilizar nomes descritivos prefixados com T.
main.cpp
1234template<typename TKey, typename TValue> void map() { // Function implementation }
Ao consultar a documentação de alguns templates, é possível notar que alguns desenvolvedores adicionam um sublinhado (_) antes do parâmetro de tipo para torná-lo mais distinto. Essa prática também pode ser adotada. No entanto, o aspecto mais importante é manter a consistência em todo o código. Escolha um estilo de nomenclatura de sua preferência e mantenha-o.
Class e typename
Tanto class quanto typename são usados em declarações de templates. Eles são intercambiáveis nesse contexto.
main.cpp
12345template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }
Historicamente, a palavra-chave class era a única opção disponível para definir parâmetros de template. Por isso, é possível encontrar esse termo em códigos mais antigos. No entanto, ao criar templates, a palavra-chave typename é frequentemente preferida por sua clareza, então será utilizada aqui.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo