Побољшајте своју документацију и тестирање кода у једном једноставном кораку уз примере функција.

Кључне Такеаваис

  • Примери функција у Го-у су исечци кода за тестирање који служе као документација и могу се користити за проверу исправности.
  • Примери функција прате конвенцију именовања и могу се дефинисати за пакете, функције, типове и методе.
  • Примери функција су извршни тестови и могу се користити за обезбеђивање поузданог кода и ажурирање документације.

Једна од предности Го-а је његово богатство уграђених функција за тестирање и документацију. Међу њима је веома корисна алатка која се зове „функције примера“ која вам може помоћи да проверите свој код и објасните га другима.

Као Го програмер, требало би да разумете тачно шта су примери функција и како их можете користити за прављење софтвера који се може одржавати.

Шта су примери функција?

Примери функција (или примери) у Голангу су исечци кода који се могу тестирати и које можете додати у пакет као документацију и проверити да ли су тачни. Функције примера не узимају параметре и не враћају резултат.

instagram viewer

Замислите да имате следеће Помножите функција у вашем пројекту:

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

Пример функције за Помножите ће изгледати овако:

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

Примери функција користе сличну конвенцију именовања за тестирање функција. Дефинишите пример функције додавањем имена функције као суфикса на „Пример“, као што је случај са ПримерМултипл овде.

Детаљније разматрање примера функција

Код у претходном одељку показује основну структуру примера функције. Оно што чини пример је име, тело функције и опциони излазни коментар на крају функције.

Када додате излазни коментар, Го компајлира и извршава пример да би потврдио његову исправност, али без коментара, Го само компајлира функцију примера, али је не извршава.

Можете дефинисати пример за пакет, функцију, тип и метод за тип.

Дефинисање примера за различите ентитете захтева различите приступе.

  1. Да бисте дефинисали пример за пакет, само позовите своју функцију Пример(), без икаквог суфикса. На пример, ево примера на нивоу пакета:
    funcExample() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
    }
  2. Да бисте дефинисали пример за функцију, једноставно додајте име функције као суфикс као што сте раније научили.
    funcExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
    }
  3. Да бисте дефинисали пример за тип, додајте име као суфикс за Пример. Ево примера:
    type MyStruct struct {
    // ...
    }

    funcExampleMyStruct() {
    // ...
    }

  4. И на крају, за методу одређеног типа, додајете назив типа, доњу црту, а затим име методе. Ево демонстрације:
    func(m *MyStruct)MyMethod() {
    // ...
    }

    funcExampleMyStruct_MyMethod() {
    // ...
    }

Можете дефинисати више примера за ентитет додавањем додатне доње црте и суфикса који почиње малим словом. На пример, ПримерМултипли_сецонд, ЕкамплеМиСтруцт_МиМетход_сецонд.

Такође можете имати већи пример да објасните сложену логику коришћењем а пример целе датотеке.

Пример целе датотеке је датотека која се завршава у _тест.го и садржи тачно један пример функције, без тестних или бенцхмарк функција и најмање једну другу декларацију на нивоу пакета. Када приказујете такве примере, годоц ће приказати целу датотеку. - Го дев блог

Го мотор препознаје и рукује вашим примерима функција према томе како их дефинишете.

Можете користити Неуређени излаз алтернатива за излазне коментаре. Ово је посебно корисно у сценаријима у којима ваша функција враћа листу која се не очекује одређеним редоследом.

Документовање вашег кода са примерима функција

Примери функција су корисни и за документацију и за потребе тестирања. Функција примера обично боље објашњава понашање од коментара.

Баш као Јава-ов Јавадоц, Го’с уграђени алат за документацију, годоц, олакшава кодирање документа. Али пожелећете да заједно документујете неке библиотеке и функције да бисте потпуније разумели како раде. Примери елиминишу овај застој јер могу да демонстрирају интеракције између различитих јединица пакета.

Тхе годоц алат аутоматски повезује примере са функцијама, типовима и пакетима којима припадају, у зависности од ваших спецификација. Такође иде корак даље тако што омогућава експериментисање у оквиру веб интерфејса документације.

Можете да испробате пакет или метод директно из документације пре него што га употребите у свом коду.

Ова слика приказује пример за јсон. Валид функција под кодирање/јсон:

Коришћење примера функција за јединични тест

Го пример функције су такође извршни тестови. Када покренете иди тестирај команду, машина покреће сваку функцију примера са коначним излазним коментаром и обезбеђује да њен излаз одговара ономе што је у коментару.

Ова могућност је корисна на много начина. Може послужити као додатни слој тестирање како би се осигурао поуздан код, такође вам помаже да пратите своју документацију како се ваш код мења.

На пример, ако направите промену која утиче на то како одређена функција ради и резултат који враћа. Ако не ажурирате излазни коментар у примеру како бисте испунили нове промене, тестови за тај пример неће успети.

Ово у великој мери помаже у спречавању застареле документације, јер ће ваша документација увек бити ажурирана са кодом.

Примери функција производе поуздан код и документацију

Документација је суштински део развоја софтвера, али неколико језика вам пружа тако моћну платформу за документовање и тестирање вашег кода.

Го долази са свиме што вам је потребно за креирање квалитетне документације за ваш софтвер, а функције примера су витални део тога. Користите примере да помогнете корисницима и сарадницима да брже усвоје и разумеју ваш код.