Izboljšajte svojo dokumentacijo in preskus kode v enem preprostem koraku z vzorčnimi funkcijami.

Ključni zaključki

  • Primeri funkcij v Go so delčki kode, ki jih je mogoče preizkusiti in služijo kot dokumentacija in se lahko uporabljajo za preverjanje pravilnosti.
  • Primeri funkcij sledijo konvenciji o poimenovanju in jih je mogoče definirati za pakete, funkcije, vrste in metode.
  • Primeri funkcij so izvedljivi testi in jih je mogoče uporabiti za zagotavljanje zanesljive kode in posodabljanje dokumentacije.

Ena od prednosti Go-ja je veliko vgrajenih funkcij za testiranje in dokumentiranje. Med njimi je zelo uporabno orodje, imenovano "primer funkcij", ki vam lahko pomaga preveriti kodo in jo razložiti drugim.

Kot razvijalec Go bi morali natančno razumeti, kaj so vzorčne funkcije in kako jih lahko uporabite za izdelavo programske opreme, ki jo je mogoče vzdrževati.

Kaj so vzorčne funkcije?

Primeri funkcij (ali primeri) v Golangu so delčki kode, ki jih je mogoče preizkusiti in jih lahko dodate paketu kot dokumentacijo in preverite pravilnost. Primeri funkcij ne sprejemajo parametrov in tudi ne vrnejo rezultata.

instagram viewer

Predstavljajte si, da imate naslednje Pomnožite funkcija v vašem projektu:

funcMultiply(a, b int)int {
return a * b
}

Primer funkcije za Pomnožite bo videti takole:

funcExampleMultiply() {
fmt.Println(Multiply(4, 5))
// Output: 2
}

Primeri funkcij uporabljajo podoben dogovor o poimenovanju za preizkus funkcij. Definirajte primer funkcije tako, da dodate ime funkcije kot pripono k "Primeru", kot je to v primeru PrimerMnoženje tukaj

Podrobnejši pogled na primere funkcij

Koda v prejšnjem razdelku prikazuje osnovno strukturo vzorčne funkcije. Kar sestavlja primer, je ime, telo funkcije in izbirni izhodni komentar na koncu funkcije.

Ko dodate izhodni komentar, Go prevede in izvede primer, da preveri njegovo pravilnost, vendar brez komentarja Go samo prevede primer funkcije, ne izvede je.

Za tip lahko definirate primer za paket, funkcijo, tip in metodo.

Definiranje primerov za različne entitete zahteva različne pristope.

  1. Če želite definirati primer za paket, samo pokličite svojo funkcijo Primer(), brez pripone. Tukaj je na primer primer na ravni paketa:
    funcExample() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
    }
  2. Če želite definirati primer za funkcijo, preprosto dodate ime funkcije kot pripono, kot ste se naučili prej.
    funcExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
    }
  3. Če želite definirati primer za vrsto, dodajte ime kot pripono k Primer. Tukaj je primer:
    type MyStruct struct {
    // ...
    }

    funcExampleMyStruct() {
    // ...
    }

  4. In nazadnje, za metodo določene vrste dodate ime vrste, podčrtaj in nato ime metode. Tukaj je predstavitev:
    func(m *MyStruct)MyMethod() {
    // ...
    }

    funcExampleMyStruct_MyMethod() {
    // ...
    }

Za entiteto lahko definirate več primerov z dodajanjem dodatnega podčrtaja in pripone, ki se začne z malo začetnico. na primer Primer Pomnoži_sekundo, ExampleMyStruct_MyMethod_second.

Lahko imate tudi večji primer za razlago zapletene logike z uporabo a primer celotne datoteke.

Primer celotne datoteke je datoteka, ki se konča z _test.go in vsebuje natanko eno primerno funkcijo, nobenih testnih ali primerjalnih funkcij in vsaj eno drugo deklaracijo na ravni paketa. Pri prikazu takšnih primerov bo godoc prikazal celotno datoteko. - Blog go dev

Mehanizem Go prepozna in obravnava vaše vzorčne funkcije glede na to, kako jih definirate.

Lahko uporabite Neurejen izhod alternativa za izhodne komentarje. To je še posebej uporabno v scenarijih, ko vaša funkcija vrne seznam, ki ni pričakovan v določenem vrstnem redu.

Dokumentiranje vaše kode z vzorčnimi funkcijami

Primeri funkcij so uporabni tako za dokumentacijo kot za namene testiranja. Primer funkcije običajno bolje razloži vedenje kot komentarji.

Tako kot Javin Javadoc, Go's vgrajeno dokumentacijsko orodje, godoc, pomaga preprosto dokumentirati kodo. Vendar boste želeli dokumentirati nekatere knjižnice in funkcije skupaj, da boste bolje razumeli, kako delujejo. Primeri odpravijo to oviro, saj lahko prikažejo interakcije med različnimi enotami paketa.

The godoc orodje samodejno poveže primere s funkcijami, vrstami in paketi, ki jim pripadajo, odvisno od vaših specifikacij. Gre tudi korak dlje, saj omogoča eksperimentiranje znotraj dokumentacijskega spletnega vmesnika.

Paket ali metodo lahko preizkusite neposredno iz dokumentacije, preden jo sploh uporabite v svoji kodi.

Ta slika prikazuje primer za json. Veljavno funkcijo pod kodiranje/json:

Uporaba vzorčnih funkcij za testiranje enot

Primeri funkcij Go so tudi izvedljivi testi. Ko zaženete pojdi testirat motor zažene vsako primerno funkcijo s končnim izhodnim komentarjem in zagotovi, da se njegov izhod ujema s tem, kar je v komentarju.

Ta zmožnost je uporabna na več načinov. Lahko služi kot dodatna plast testiranje za zagotovitev zanesljive kode, vam tudi pomaga spremljati vašo dokumentacijo, ko se vaša koda spremeni.

Na primer, če naredite spremembo, ki vpliva na delovanje določene funkcije in rezultat, ki ga vrne. Če izhodnega komentarja v primeru ne posodobite tako, da ustreza novim spremembam, bodo testi za ta primer neuspešni.

To zelo pomaga pri preprečevanju zastarele dokumentacije, saj bo vaša dokumentacija vedno posodobljena s kodo.

Primeri funkcij ustvarjajo zanesljivo kodo in dokumentacijo

Dokumentacija je bistveni del razvoja programske opreme, vendar vam le malo jezikov nudi tako zmogljivo platformo za dokumentiranje in testiranje vaše kode.

Go ima vse, kar potrebujete za ustvarjanje kakovostne dokumentacije za vašo programsko opremo, vzorčne funkcije pa so pomemben del tega. S primeri pomagajte uporabnikom in sodelavcem, da hitreje sprejmejo in razumejo vašo kodo.