Kursinhalt
C++-Vorlagen
C++-Vorlagen
Namenskonventionen
Gute und schlechte Benennungen
Genau wie bei Variablen können Sie Template-Parameter beliebig benennen. Das Einhalten von Namenskonventionen kann jedoch die Lesbarkeit und Wartbarkeit des Codes erheblich verbessern. Hier sind einige gute und schlechte Praktiken, die Sie berücksichtigen sollten.
main
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }
Sie fragen sich vielleicht, warum T
als bessere Namenswahl als Type
angesehen wird, obwohl letzteres klarer erscheint. Der Grund ist einfach: T
ist eine weit akzeptierte Konvention, die für Type steht. Es zeigt sofort an, dass der Template-Parameter einen Typ darstellt, was den meisten Entwicklern vertraut ist. Es ist auch üblich, U
oder V
zu verwenden, wenn T
bereits verwendet wurde.
Beschreibende Benennung
Wenn Sie mehrere Template-Parameter haben und deren Zweck nicht sofort ersichtlich ist, ist es eine gute Praxis, beschreibende Namen zu verwenden, die mit T
beginnen.
main
template<typename TKey, typename TValue> void map() { // Function implementation }
Wenn Sie sich die Dokumentation einiger Templates ansehen, werden Sie möglicherweise feststellen, dass einige Entwickler einen Unterstrich (_
) vor den Typ-Parameter setzen, um ihn deutlicher zu machen. Sie können diese Praxis ebenfalls übernehmen. Der wichtigste Aspekt ist jedoch, Konsistenz in Ihrem gesamten Code zu wahren. Wählen Sie einen Benennungsstil, den Sie bevorzugen, und halten Sie sich daran.
Klasse und Typname
Sowohl class
als auch typename
werden in Template-Deklarationen verwendet. Sie sind in diesem Kontext austauschbar.
main
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }
Historisch gesehen war das class
-Schlüsselwort die einzige verfügbare Option zur Definition von Template-Parametern. Daher können Sie dieses Schlüsselwort in älterem Code finden. Wenn jedoch Templates erstellt werden, wird das typename
-Schlüsselwort aufgrund seiner Klarheit oft bevorzugt, daher werden wir es verwenden.
Danke für Ihr Feedback!