Patobulinkite savo dokumentaciją ir kodo testą vienu paprastu veiksmu naudodami pavyzdines funkcijas.

Key Takeaways

  • „Go“ funkcijų pavyzdžiai yra tikrinami kodo fragmentai, naudojami kaip dokumentai ir gali būti naudojami teisingumui patikrinti.
  • Pavyzdinės funkcijos atitinka pavadinimų suteikimo tvarką ir gali būti apibrėžtos paketams, funkcijoms, tipams ir metodams.
  • Pavyzdinės funkcijos yra vykdomieji testai ir gali būti naudojami siekiant užtikrinti patikimą kodą ir nuolat atnaujinti dokumentaciją.

Viena iš „Go“ pranašumų yra daugybė integruotų testavimo ir dokumentavimo funkcijų. Tarp jų yra labai naudingas įrankis, vadinamas „pavyzdinėmis funkcijomis“, kuris gali padėti patikrinti kodą ir paaiškinti jį kitiems.

Kaip „Go“ kūrėjas, turėtumėte tiksliai suprasti, kokios yra pavyzdinės funkcijos ir kaip galite jas naudoti kurdami prižiūrimą programinę įrangą.

Kas yra pavyzdinės funkcijos?

Golango funkcijų pavyzdžiai (arba pavyzdžiai) yra tikrinami kodo fragmentai, kuriuos galite įtraukti į paketą kaip dokumentus ir patikrinti, ar jie yra teisingi. Pavyzdinės funkcijos nepriima parametrų ir nepateikia rezultato.

instagram viewer

Įsivaizduokite, kad turite šiuos dalykus Padauginti funkcija jūsų projekte:

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

Pavyzdinė funkcija, skirta Padauginti atrodys taip:

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

Pavyzdinės funkcijos naudoja panašią įvardijimo tvarką funkcijoms tikrinti. Apibrėžkite funkcijos pavyzdį pridėdami funkcijos pavadinimą kaip priesagą prie „Pavyzdys“, kaip yra Pavyzdys Padauginti čia.

Atidžiau pažvelkite į pavyzdines funkcijas

Ankstesniame skyriuje pateiktas kodas rodo pagrindinę pavyzdinės funkcijos struktūrą. Pavyzdį sudaro pavadinimas, funkcijos turinys ir pasirenkamas išvesties komentaras funkcijos pabaigoje.

Kai pridedate išvesties komentarą, Go sukompiliuoja ir vykdo pavyzdį, kad patikrintų jo teisingumą, tačiau be komentaro Go tik sukompiliuoja pavyzdžio funkciją, jos nevykdo.

Galite apibrėžti paketo, funkcijos, tipo ir tipo metodo pavyzdį.

Norint apibrėžti skirtingų subjektų pavyzdžius, reikia skirtingų požiūrių.

  1. Norėdami apibrėžti paketo pavyzdį, tiesiog iškvieskite savo funkciją Pavyzdys(), be jokios priesagos. Pavyzdžiui, čia yra paketo lygio pavyzdys:
    funcExample() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
    }
  2. Norėdami apibrėžti funkcijos pavyzdį, tiesiog pridėkite funkcijos pavadinimą kaip priesagą, kaip išmokote anksčiau.
    funcExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
    }
  3. Norėdami apibrėžti tipo pavyzdį, pridėkite pavadinimą kaip priesagą Pavyzdys. Štai pavyzdys:
    type MyStruct struct {
    // ...
    }

    funcExampleMyStruct() {
    // ...
    }

  4. Galiausiai, konkretaus tipo metodui pridedate tipo pavadinimą, pabraukimą ir metodo pavadinimą. Štai demonstracija:
    func(m *MyStruct)MyMethod() {
    // ...
    }

    funcExampleMyStruct_MyMethod() {
    // ...
    }

Galite apibrėžti kelis objekto pavyzdžius pridėdami papildomą apatinį brūkšnį ir priesagą, prasidedančią mažąja raide. Pavyzdžiui, PavyzdysDauginti_sekundę, PavyzdysMyStruct_MyMethod_second.

Taip pat galite turėti didesnį pavyzdį, kad paaiškintumėte sudėtingą logiką naudodami a viso failo pavyzdys.

Viso failo pavyzdys yra failas, kuris baigiasi _test.go ir yra tiksliai viena pavyzdinė funkcija, nėra testavimo ar etaloninių funkcijų ir bent viena kita paketo lygio deklaracija. Rodydamas tokius pavyzdžius, „godoc“ parodys visą failą. - „Go dev“ tinklaraštis

„Go“ variklis atpažįsta ir tvarko jūsų pavyzdines funkcijas pagal tai, kaip jas apibrėžiate.

Galite naudoti Netvarkinga produkcija alternatyva išvesties komentarams. Tai ypač naudinga tais atvejais, kai funkcija pateikia sąrašą, kurio nesitikima tam tikra tvarka.

Savo kodo dokumentavimas naudojant pavyzdines funkcijas

Funkcijos pavyzdinės naudingos ir dokumentacijos, ir testavimo tikslais. Pavyzdinė funkcija paprastai geriau paaiškina elgesį nei komentarai.

Tiesiog kaip Java Javadoc, Eik įmontuotas dokumentacijos įrankis, godoc, padeda lengvai dokumentuoti kodą. Tačiau norėsite kartu dokumentuoti kai kurias bibliotekas ir funkcijas, kad geriau suprastumėte, kaip jos veikia. Pavyzdžiai pašalina šį trūkumą, nes jie gali parodyti įvairių paketo vienetų sąveiką.

The godokas įrankis automatiškai susieja pavyzdžius su funkcijomis, tipais ir paketais, kuriems jie priklauso, atsižvelgiant į jūsų specifikacijas. Tai taip pat žengia dar vieną žingsnį, leisdama eksperimentuoti dokumentacijos žiniatinklio sąsajoje.

Galite išbandyti paketą arba metodą tiesiai iš dokumentacijos, net prieš naudodami jį savo kode.

Šiame paveikslėlyje parodytas pavyzdys json. Galioja funkcija pagal kodavimas/json:

Pavyzdinių funkcijų naudojimas vienetų testavimui

Go pavyzdinės funkcijos taip pat yra vykdomieji testai. Kai paleisite eik išbandyti komandą, variklis vykdo kiekvieną pavyzdinę funkciją su galutiniu išvesties komentaru ir užtikrina, kad jo išvestis atitiktų tai, kas yra komentare.

Ši galimybė yra naudinga daugeliu atžvilgių. Jis gali tarnauti kaip papildomas sluoksnis bandymai, siekiant užtikrinti patikimą kodą, tai taip pat padeda sekti dokumentus, kai keičiasi kodas.

Pavyzdžiui, jei atliekate pakeitimą, kuris turi įtakos konkrečios funkcijos vykdymui ir jos grąžinamam rezultatui. Jei neatnaujinsite išvesties komentaro pavyzdyje, kad atitiktų naujus pakeitimus, to pavyzdžio testai nepavyks.

Tai labai padeda užkirsti kelią pasenusiems dokumentams, nes jūsų dokumentuose visada bus atnaujintas kodas.

Pavyzdinės funkcijos sukuria patikimą kodą ir dokumentaciją

Dokumentacija yra esminė programinės įrangos kūrimo dalis, tačiau tik kelios kalbos suteikia tokią galingą platformą kodui dokumentuoti ir išbandyti.

„Go“ komplekte yra viskas, ko reikia norint sukurti kokybišką programinės įrangos dokumentaciją, o pavyzdinės funkcijos yra gyvybiškai svarbi to dalis. Naudokite pavyzdžius, kad padėtumėte vartotojams ir bendradarbiams greičiau priimti ir suprasti jūsų kodą.