Poboljšajte svoju dokumentaciju i testiranje koda u jednom jednostavnom koraku pomoću primjera funkcija.

Ključni zahvati

  • Primjeri funkcija u Gou isječci koda koji se mogu testirati služe kao dokumentacija i mogu se koristiti za provjeru ispravnosti.
  • Primjeri funkcija slijede konvenciju imenovanja i mogu se definirati za pakete, funkcije, tipove i metode.
  • Primjeri funkcija su izvršni testovi i mogu se koristiti za osiguravanje pouzdanog koda i održavanje dokumentacije ažurnom.

Jedna od prednosti Go-a je njegovo bogatstvo ugrađenih značajki testiranja i dokumentacije. Među njima je vrlo koristan alat pod nazivom "primjer funkcija" koji vam može pomoći da provjerite svoj kod i objasnite ga drugima.

Kao Go programer, trebali biste točno razumjeti što su primjeri funkcija i kako ih možete koristiti za izradu softvera koji se može održavati.

Što su primjeri funkcija?

Primjeri funkcija (ili primjeri) u Golangu isječci su koda koji se mogu testirati i koje možete dodati paketu kao dokumentaciju i provjeriti ispravnost. Primjeri funkcija ne uzimaju parametre niti vraćaju rezultat.

instagram viewer

Zamislite da imate sljedeće Pomnožiti funkcija u vašem projektu:

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

Primjer funkcije za Pomnožiti izgledat će ovako:

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

Primjeri funkcija koriste sličnu konvenciju imenovanja za testiranje funkcija. Definirajte primjer funkcije dodavanjem naziva funkcije kao sufiksa na "Primjer", kao što je slučaj s PrimjerMnoženje ovdje.

Pogled izbliza na primjere funkcija

Kôd u prethodnom odjeljku prikazuje osnovnu strukturu primjera funkcije. Ono što čini primjer je naziv, tijelo funkcije i izborni izlazni komentar na kraju funkcije.

Kada dodate izlazni komentar, Go kompajlira i izvršava primjer kako bi provjerio njegovu ispravnost, ali bez komentara, Go samo kompajlira funkciju primjera, ne izvršava je.

Možete definirati primjer za paket, funkciju, tip i metodu na tipu.

Definiranje primjera za različite entitete zahtijeva različite pristupe.

  1. Da biste definirali primjer za paket, samo pozovite svoju funkciju Primjer(), bez ikakvog sufiksa. Na primjer, evo primjera na razini paketa:
    funcExample() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
    }
  2. Da biste definirali primjer za funkciju, jednostavno dodajte naziv funkcije kao sufiks kao što ste ranije naučili.
    funcExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
    }
  3. Da biste definirali primjer za vrstu, dodajte naziv kao sufiks Primjer. Evo primjera:
    type MyStruct struct {
    // ...
    }

    funcExampleMyStruct() {
    // ...
    }

  4. I na kraju, za metodu određenog tipa dodajete naziv tipa, podvlaku, a zatim naziv metode. Evo demonstracije:
    func(m *MyStruct)MyMethod() {
    // ...
    }

    funcExampleMyStruct_MyMethod() {
    // ...
    }

Možete definirati više primjera za entitet dodavanjem dodatne podvlake i sufiksa koji počinje malim slovom. Na primjer, PrimjerMnoženje_sekunde, ExampleMyStruct_MyMethod_second.

Također možete imati veći primjer za objašnjenje složene logike pomoću a primjer cijele datoteke.

Primjer cijele datoteke je datoteka koja završava na _test.kreni i sadrži točno jednu primjernu funkciju, nema testnih ili usporednih funkcija i najmanje jednu drugu deklaraciju na razini paketa. Prilikom prikaza takvih primjera godoc će prikazati cijelu datoteku. - Go dev blog

Go motor prepoznaje i obrađuje vaše primjere funkcija prema tome kako ih definirate.

Možete koristiti Neuređeni izlaz alternativa za izlazne komentare. Ovo je osobito korisno u scenarijima u kojima vaša funkcija vraća popis koji se ne očekuje određenim redoslijedom.

Dokumentiranje vašeg koda s primjerima funkcija

Primjeri funkcija korisni su i za dokumentaciju i za potrebe testiranja. Primjer funkcije obično bolje objašnjava ponašanje od komentara.

Baš kao Javin Javadoc, Idi ugrađeni alat za dokumentaciju, godoc, pomaže u jednostavnom dokumentiranju koda. Ali ćete htjeti zajedno dokumentirati neke biblioteke i funkcije kako biste potpunije razumjeli kako rade. Primjeri eliminiraju ovaj nedostatak jer mogu pokazati interakcije između različitih jedinica paketa.

The godoc alat automatski povezuje primjere s funkcijama, tipovima i paketima kojima pripadaju, ovisno o vašim specifikacijama. Također ide korak dalje dopuštajući eksperimentiranje unutar dokumentacijskog web sučelja.

Možete isprobati paket ili metodu izravno iz dokumentacije prije nego što ih uopće upotrijebite u svom kodu.

Ova slika prikazuje primjer za json. Valjano funkcija pod kodiranje/json:

Korištenje primjera funkcija za jedinično testiranje

Go primjeri funkcija također su izvršni testovi. Kada pokrenete idi testirati naredba, motor pokreće svaku primjernu funkciju s konačnim izlaznim komentarom i osigurava da njezin izlaz odgovara onome što je u komentaru.

Ova sposobnost je korisna na mnogo načina. Može poslužiti kao dodatni sloj testiranje kako bi se osigurao pouzdan kod, također vam pomaže da pratite svoju dokumentaciju dok se vaš kod mijenja.

Na primjer, ako napravite promjenu koja utječe na to kako određena funkcija radi i rezultat koji vraća. Ako ne ažurirate izlazni komentar u primjeru u skladu s novim promjenama, testovi za taj primjer neće uspjeti.

Ovo uvelike pomaže u sprječavanju zastarjele dokumentacije, jer će vaša dokumentacija uvijek biti ažurna s kodom.

Primjeri funkcija proizvode pouzdan kod i dokumentaciju

Dokumentacija je bitan dio razvoja softvera, ali nekoliko jezika vam daje tako moćnu platformu za dokumentiranje i testiranje vašeg koda.

Go dolazi sa svime što vam je potrebno za izradu kvalitetne dokumentacije za vaš softver, a primjeri funkcija vitalni su dio toga. Koristite primjere kako biste pomogli korisnicima i suradnicima da brže usvoje i razumiju vaš kod.