Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Navnekonvensjoner | Lage Første Mal
C++-Maler

Navnekonvensjoner

Sveip for å vise menyen

Gode og dårlige navnevalg

Akkurat som med variabler kan du gi malparametere hvilket som helst navn. Å følge navnekonvensjoner kan imidlertid forbedre lesbarheten og vedlikeholdbarheten av koden betydelig. Her er noen gode og dårlige praksiser å vurdere.

main.cpp

main.cpp

1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

Du lurer kanskje på hvorfor T regnes som et bedre navnevalg enn Type, selv om det siste virker tydeligere. Årsaken er enkel: T er en bredt akseptert konvensjon som står for Type. Det indikerer umiddelbart at malparameteren representerer en type, noe som er kjent for de fleste utviklere. Det er også vanlig å bruke U eller V hvis T allerede er brukt.

Beskrivende navngivning

Når du har flere malparametere og formålet deres ikke er umiddelbart åpenbart, er det god praksis å bruke beskrivende navn med prefikset T.

main.cpp

main.cpp

1234
template<typename TKey, typename TValue> void map() { // Function implementation }

Hvis du ser på dokumentasjonen for noen maler, kan du legge merke til at enkelte utviklere legger til en understrek (_) foran typeparameteren for å gjøre den mer distinkt. Du kan også ta i bruk denne praksisen. Det viktigste er imidlertid å opprettholde konsistens gjennom hele kodebasen. Velg en navngivningsstil du foretrekker, og hold deg til den.

Class og typename

Både class og typename brukes i template-deklarasjoner. De kan brukes om hverandre i denne sammenhengen.

main.cpp

main.cpp

12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

Historisk sett var nøkkelordet class det eneste alternativet for å definere template-parametere. Derfor kan du finne dette nøkkelordet i eldre kode. Når man lager templates, foretrekkes ofte nøkkelordet typename for tydelighet, så vi vil bruke det.

question mark

Hva kan passe i plassholderne?

Velg alle riktige svar

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Navnekonvensjoner

Gode og dårlige navnevalg

Akkurat som med variabler kan du gi malparametere hvilket som helst navn. Å følge navnekonvensjoner kan imidlertid forbedre lesbarheten og vedlikeholdbarheten av koden betydelig. Her er noen gode og dårlige praksiser å vurdere.

main.cpp

main.cpp

1234
template<typename T> // <- Actually a good naming void myTemplate() { // Function implementation }

Du lurer kanskje på hvorfor T regnes som et bedre navnevalg enn Type, selv om det siste virker tydeligere. Årsaken er enkel: T er en bredt akseptert konvensjon som står for Type. Det indikerer umiddelbart at malparameteren representerer en type, noe som er kjent for de fleste utviklere. Det er også vanlig å bruke U eller V hvis T allerede er brukt.

Beskrivende navngivning

Når du har flere malparametere og formålet deres ikke er umiddelbart åpenbart, er det god praksis å bruke beskrivende navn med prefikset T.

main.cpp

main.cpp

1234
template<typename TKey, typename TValue> void map() { // Function implementation }

Hvis du ser på dokumentasjonen for noen maler, kan du legge merke til at enkelte utviklere legger til en understrek (_) foran typeparameteren for å gjøre den mer distinkt. Du kan også ta i bruk denne praksisen. Det viktigste er imidlertid å opprettholde konsistens gjennom hele kodebasen. Velg en navngivningsstil du foretrekker, og hold deg til den.

Class og typename

Både class og typename brukes i template-deklarasjoner. De kan brukes om hverandre i denne sammenhengen.

main.cpp

main.cpp

12345
template <class T> void first_template(T param) { /* ... */ } template <typename T> void second_template(T param) { /* ... */ }

Historisk sett var nøkkelordet class det eneste alternativet for å definere template-parametere. Derfor kan du finne dette nøkkelordet i eldre kode. Når man lager templates, foretrekkes ofte nøkkelordet typename for tydelighet, så vi vil bruke det.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5
some-alt