Paranna dokumentaatiota ja kooditestiä yhdessä helpossa vaiheessa esimerkkitoimintojen avulla.
Avaimet takeawayt
- Go: n esimerkkitoiminnot ovat testattavia koodinpätkiä, jotka toimivat dokumentaationa ja joita voidaan käyttää oikeellisuuden tarkistamiseen.
- Esimerkkifunktiot noudattavat nimeämiskäytäntöä, ja ne voidaan määrittää paketeille, funktioille, tyypeille ja menetelmille.
- Esimerkkifunktiot ovat suoritettavia testejä, ja niillä voidaan varmistaa luotettava koodi ja pitää dokumentaatio ajan tasalla.
Yksi Go: n vahvuuksista on sen runsaat sisäänrakennetut testaus- ja dokumentointiominaisuudet. Näiden joukossa on erittäin hyödyllinen työkalu nimeltä "esimerkkitoiminnot", jonka avulla voit tarkistaa koodisi ja selittää sen muille.
Go-kehittäjänä sinun pitäisi ymmärtää tarkalleen, mitä esimerkkitoiminnot ovat ja kuinka voit käyttää niitä ylläpidettävien ohjelmistojen rakentamiseen.
Mitä ovat esimerkkifunktiot?
Esimerkkifunktiot (tai esimerkit) Golangissa ovat testattavia koodinpätkiä, jotka voit lisätä pakettiin dokumentaatioksi ja tarkistaa niiden oikeellisuuden. Esimerkkifunktiot eivät ota parametreja eivätkä myöskään palauta tulosta.
Kuvittele, että sinulla on seuraavat asiat Kerro tehtävä projektissasi:
funcMultiply(a, b int)int {
return a * b
}
Esimerkki funktiosta Kerro näyttää tältä:
funcExampleMultiply() {
fmt.Println(Multiply(4, 5))
// Output: 2
}
Esimerkkifunktiot käyttävät samanlaista nimeämiskäytäntöä funktioiden testaamiseen. Määritä funktioesimerkki lisäämällä funktion nimi päätteeksi kohtaan "Esimerkki", kuten Esimerkki Kerro tässä.
Tarkastellaan lähemmin esimerkkitoimintoja
Edellisen osan koodi näyttää esimerkkifunktion perusrakenteen. Mikä muodostaa esimerkin, on nimi, funktion runko ja valinnainen tulostekommentti funktion lopussa.
Kun lisäät tuloskommentin, Go kääntää ja suorittaa esimerkin varmistaakseen sen oikeellisuuden, mutta ilman kommenttia Go kääntää vain esimerkkifunktion, ei suorita sitä.
Voit määrittää esimerkin paketille, funktiolle, tyypille ja menetelmälle tyypille.
Esimerkkien määrittäminen eri entiteeteille vaatii erilaisia lähestymistapoja.
- Jos haluat määrittää esimerkin paketille, kutsu funktio Esimerkki(), ilman päätettä. Tässä on esimerkiksi pakettitason esimerkki:
funcExample() {
fmt.Println("Hello, world!")
// Output:
// Hello, world!
} - Voit määrittää esimerkin funktiolle lisäämällä funktion nimen jälkiliitteenä, kuten opit aiemmin.
funcExampleMultiply() {
fmt.Println(Multiply(4,5))
// Output: 2
} - Jos haluat määrittää esimerkin tyypille, lisää nimi liitteenä kohtaan Esimerkki. Tässä on esimerkki:
type MyStruct struct {
// ...
}funcExampleMyStruct() {
// ...
} - Ja lopuksi, lisäät tietyn tyypin menetelmälle tyypin nimen, alaviivan ja sitten menetelmän nimen. Tässä esittely:
func(m *MyStruct)MyMethod() {
// ...
}funcExampleMyStruct_MyMethod() {
// ...
}
Voit määrittää entiteetille useita esimerkkejä lisäämällä ylimääräisen alaviivan ja pienellä kirjaimella alkavan jälkiliitteen. Esimerkiksi, EsimerkkiMultiply_second, EsimerkkiMyStruct_MyMethod_second.
Voit myös saada suuremman esimerkin monimutkaisen logiikan selittämiseksi käyttämällä a esimerkki koko tiedostosta.
Kokonainen tiedostoesimerkki on tiedosto, joka päättyy numeroon _test.go ja sisältää täsmälleen yhden esimerkkifunktion, ei testi- tai vertailufunktioita ja vähintään yhden muun pakettitason ilmoituksen. Kun tällaisia esimerkkejä näytetään, godoc näyttää koko tiedoston. - Go dev -blogi
Go-moottori tunnistaa ja käsittelee esimerkkitoimintosi sen mukaan, miten määrittelet ne.
Voit käyttää Järjestämätön tulos vaihtoehto tulostekommenteille. Tämä on erityisen hyödyllistä skenaarioissa, joissa funktio palauttaa luettelon, jota ei odoteta tietyssä järjestyksessä.
Koodisi dokumentointi esimerkkitoiminnoilla
Esimerkkitoiminnot ovat hyödyllisiä sekä dokumentointi- että testaustarkoituksiin. Esimerkkitoiminto selittää yleensä paremmin käyttäytymistä kuin kommentit.
Ihan kuin Java Javadoc, Mene sisäänrakennettu dokumentointityökalu, godoc, auttaa dokumentoimaan koodin helposti. Haluat kuitenkin dokumentoida joitain kirjastoja ja toimintoja yhdessä saadaksesi täydellisemmän käsityksen niiden toiminnasta. Esimerkit poistavat tämän takaiskun, koska ne voivat osoittaa vuorovaikutuksen paketin eri yksiköiden välillä.
The goddoc työkalu liittää automaattisesti esimerkit toimintoihin, tyyppeihin ja paketteihin, joihin ne kuuluvat, määrityksistäsi riippuen. Se myös menee askeleen pidemmälle sallimalla kokeilun dokumentaation verkkokäyttöliittymässä.
Voit kokeilla pakettia tai menetelmää suoraan dokumentaatiosta ennen kuin käytät sitä koodissasi.
Tämä kuva näyttää esimerkin json. Pätevä toiminto alla koodaus/json:
Esimerkkifunktioiden käyttäminen yksikkötestauksessa
Go esimerkkifunktiot ovat myös suoritettavia testejä. Kun käytät mene testiin -komento, moottori suorittaa jokaisen esimerkkitoiminnon lopullisella tuloskommentilla ja varmistaa, että sen tulos vastaa kommentin sisältöä.
Tämä ominaisuus on hyödyllinen monella tapaa. Se voi toimia ylimääräisenä kerroksena testaamalla luotettavan koodin varmistamiseksi, se auttaa myös sinua seuraamaan asiakirjojasi koodin muuttuessa.
Jos esimerkiksi teet muutoksen, joka vaikuttaa tietyn funktion suorittamiseen ja sen palauttamaan tulokseen. Jos et päivitä esimerkin tuloskommenttia vastaamaan uusia muutoksia, esimerkin testit epäonnistuvat.
Tämä auttaa suuresti estämään vanhentunutta dokumentaatiota, koska dokumentaatiosi on aina ajan tasalla koodin kanssa.
Esimerkkitoiminnot tuottavat luotettavaa koodia ja dokumentaatiota
Dokumentointi on olennainen osa ohjelmistokehitystä, mutta harvat kielet tarjoavat sinulle näin tehokkaan alustan koodin dokumentoimiseen ja testaamiseen.
Go sisältää kaiken, mitä tarvitset laadukkaan dokumentaation luomiseen ohjelmistollesi, ja esimerkkitoiminnot ovat olennainen osa sitä. Käytä esimerkkejä auttaaksesi käyttäjiä ja yhteistyökumppaneita omaksumaan ja ymmärtämään koodisi nopeammin.