Zlepšite svoju dokumentáciu a test kódu v jednom jednoduchom kroku pomocou vzorových funkcií.

Kľúčové informácie

  • Príklady funkcií v Go sú testovateľné úryvky kódu, ktoré slúžia ako dokumentácia a možno ich použiť na overenie správnosti.
  • Príklady funkcií sa riadia konvenciou pomenovania a možno ich definovať pre balíky, funkcie, typy a metódy.
  • Príklady funkcií sú spustiteľné testy a možno ich použiť na zabezpečenie spoľahlivého kódu a aktualizáciu dokumentácie.

Jednou zo silných stránok Go je množstvo vstavaných testovacích a dokumentačných funkcií. Medzi nimi je veľmi užitočný nástroj nazývaný „príkladové funkcie“, ktorý vám môže pomôcť skontrolovať váš kód a vysvetliť ho ostatným.

Ako vývojár Go by ste mali presne rozumieť tomu, čo sú vzorové funkcie a ako ich môžete použiť na zostavenie udržiavateľného softvéru.

Čo sú vzorové funkcie?

Vzorové funkcie (alebo príklady) v Golang sú testovateľné úryvky kódu, ktoré môžete pridať do balíka ako dokumentáciu a overiť správnosť. Vzorové funkcie neberú parametre a ani nevracajú výsledok.

instagram viewer

Predstavte si, že máte nasledovné Vynásobte funkcia vo vašom projekte:

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

Príklad funkcie pre Vynásobte bude vyzerať takto:

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

Vzorové funkcie používajú na testovanie funkcií podobnú konvenciu pomenovania. Definujte príklad funkcie pridaním názvu funkcie ako prípony k "Príklad", ako je to v prípade Príklad Vynásobte tu.

Bližší pohľad na príklady funkcií

Kód v predchádzajúcej časti zobrazuje základnú štruktúru vzorovej funkcie. Príklad tvorí názov, telo funkcie a voliteľný výstupný komentár na konci funkcie.

Keď pridáte výstupný komentár, Go skompiluje a spustí príklad na overenie jeho správnosti, ale bez komentára Go iba skompiluje funkciu príkladu, nevykoná ju.

Môžete definovať príklad pre balík, funkciu, typ a metódu na type.

Definovanie príkladov pre rôzne entity si vyžaduje rôzne prístupy.

  1. Ak chcete definovať príklad balíka, zavolajte svoju funkciu Príklad(), bez akejkoľvek prípony. Tu je napríklad príklad na úrovni balíka:
    funcExample() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
    }
  2. Ak chcete definovať príklad funkcie, jednoducho pridajte názov funkcie ako príponu, ako ste sa naučili predtým.
    funcExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
    }
  3. Ak chcete definovať príklad pre typ, pridajte názov ako príponu k Príklad. Tu je príklad:
    type MyStruct struct {
    // ...
    }

    funcExampleMyStruct() {
    // ...
    }

  4. A nakoniec, pre metódu na konkrétnom type pridáte názov typu, podčiarknutie a potom názov metódy. Tu je ukážka:
    func(m *MyStruct)MyMethod() {
    // ...
    }

    funcExampleMyStruct_MyMethod() {
    // ...
    }

Môžete definovať viacero príkladov entity pridaním ďalšieho podčiarknutia a prípony začínajúcej malým písmenom. Napríklad, PríkladMultiply_second, PríkladMyStruct_MyMethod_second.

Môžete mať aj väčší príklad na vysvetlenie zložitej logiky pomocou a príklad celého súboru.

Príkladom celého súboru je súbor, ktorý končí na _test.go a obsahuje presne jednu vzorovú funkciu, žiadne testovacie alebo benchmarkové funkcie a aspoň jednu ďalšiu deklaráciu na úrovni balíka. Pri zobrazovaní takýchto príkladov godoc zobrazí celý súbor. - Blog go dev

Nástroj Go rozpozná a spracuje vaše vzorové funkcie podľa toho, ako ich definujete.

Môžete použiť Neusporiadaný výstup alternatíva pre výstupné komentáre. Je to užitočné najmä v scenároch, kde vaša funkcia vracia zoznam, ktorý sa neočakáva v konkrétnom poradí.

Zdokumentovanie kódu pomocou vzorových funkcií

Príklady funkcií sú užitočné na účely dokumentácie aj testovania. Príkladová funkcia zvyčajne lepšie vysvetľuje správanie ako komentáre.

Rovnako ako Javadoc Java, Choď vstavaný dokumentačný nástroj, godoc, uľahčuje kód dokumentu. Budete však chcieť zdokumentovať niektoré knižnice a funkcie spolu, aby ste lepšie pochopili, ako fungujú. Príklady eliminujú tento neúspech, pretože môžu demonštrovať interakcie medzi rôznymi jednotkami balíka.

The godoc nástroj automaticky priradí príklady k funkciám, typom a balíkom, ku ktorým patria, v závislosti od vašich špecifikácií. Ide tiež o krok ďalej tým, že umožňuje experimentovanie vo webovom rozhraní dokumentácie.

Balík alebo metódu si môžete vyskúšať priamo z dokumentácie ešte predtým, ako ju použijete vo svojom kóde.

Tento obrázok ukazuje príklad pre json. Platné funkcia pod kódovanie/json:

Použitie vzorových funkcií na test jednotky

Príklady funkcií Go sú tiež spustiteľné testy. Keď spustíte ísť otestovať príkaz spustí motor každú príkladnú funkciu s posledným výstupným komentárom a zabezpečí, aby sa jeho výstup zhodoval s tým, čo je v komentári.

Táto schopnosť je užitočná v mnohých smeroch. Môže slúžiť ako ďalšia vrstva testovanie na zabezpečenie spoľahlivého kódu, tiež vám pomáha sledovať vašu dokumentáciu pri zmenách kódu.

Napríklad, ak vykonáte zmenu, ktorá ovplyvní spôsob spustenia konkrétnej funkcie a výsledok, ktorý vráti. Ak neaktualizujete výstupný komentár v príklade, aby vyhovoval novým zmenám, testy pre tento príklad zlyhajú.

To veľmi pomáha pri predchádzaní zastaranej dokumentácii, pretože vaša dokumentácia bude vždy aktuálna s kódom.

Príklady funkcií vytvárajú spoľahlivý kód a dokumentáciu

Dokumentácia je nevyhnutnou súčasťou vývoja softvéru, ale len málo jazykov vám poskytuje takú výkonnú platformu na dokumentovanie a testovanie kódu.

Go prichádza so všetkým, čo potrebujete na vytvorenie kvalitnej dokumentácie pre váš softvér, a vzorové funkcie sú toho dôležitou súčasťou. Použite príklady, ktoré pomôžu používateľom a spolupracovníkom rýchlejšie si osvojiť a pochopiť váš kód.