Ulepsz swoją dokumentację i test kodu w jednym prostym kroku, korzystając z przykładowych funkcji.
Kluczowe dania na wynos
- Przykładowe funkcje w Go to testowalne fragmenty kodu, które służą jako dokumentacja i można je wykorzystać do sprawdzenia poprawności.
- Przykładowe funkcje są zgodne z konwencją nazewnictwa i można je zdefiniować dla pakietów, funkcji, typów i metod.
- Przykładowe funkcje to testy wykonywalne, które można wykorzystać do zapewnienia niezawodności kodu i aktualności dokumentacji.
Jedną z mocnych stron Go jest bogactwo wbudowanych funkcji testowania i dokumentacji. Wśród nich znajduje się bardzo przydatne narzędzie zwane „przykładowymi funkcjami”, które może pomóc Ci sprawdzić kod i wyjaśnić go innym.
Jako programista Go powinieneś dokładnie wiedzieć, czym są przykładowe funkcje i jak możesz ich używać do tworzenia łatwego w utrzymaniu oprogramowania.
Jakie są przykładowe funkcje?
Przykładowe funkcje (lub przykłady) w Golangu to testowalne fragmenty kodu, które możesz dodać do pakietu jako dokumentację i sprawdzić pod kątem poprawności. Przykładowe funkcje nie przyjmują parametrów i nie zwracają wyniku.
Wyobraź sobie, że masz następujące informacje Zwielokrotniać funkcja w Twoim projekcie:
funcMultiply(a, b int)int {
return a * b
}
Przykładowa funkcja dla Zwielokrotniać będzie wyglądać tak:
funcExampleMultiply() {
fmt.Println(Multiply(4, 5))
// Output: 2
}
Przykładowe funkcje używają podobnej konwencji nazewnictwa do testowania funkcji. Zdefiniuj przykład funkcji, dodając nazwę funkcji jako przyrostek do „Przykład”, tak jak ma to miejsce w przypadku PrzykładPomnóż Tutaj.
Bliższe spojrzenie na przykładowe funkcje
Kod z poprzedniej sekcji przedstawia podstawową strukturę przykładowej funkcji. Przykładem jest nazwa, treść funkcji i opcjonalny komentarz wyjściowy na końcu funkcji.
Kiedy dodasz komentarz wyjściowy, Go kompiluje i wykonuje przykład, aby sprawdzić jego poprawność, ale bez komentarza Go kompiluje tylko przykładową funkcję, a nie ją wykonuje.
Można zdefiniować przykład pakietu, funkcji, typu i metody na typie.
Definiowanie przykładów dla różnych podmiotów wymaga różnych podejść.
- Aby zdefiniować przykład pakietu, po prostu wywołaj swoją funkcję Przykład(), bez żadnego przyrostka. Oto przykład na poziomie pakietu:
funcExample() {
fmt.Println("Hello, world!")
// Output:
// Hello, world!
} - Aby zdefiniować przykład funkcji, po prostu dodajesz nazwę funkcji jako przyrostek, jak nauczyłeś się wcześniej.
funcExampleMultiply() {
fmt.Println(Multiply(4,5))
// Output: 2
} - Aby zdefiniować przykład dla typu, dodaj nazwę jako przyrostek do Przykład. Oto przykład:
type MyStruct struct {
// ...
}funcExampleMyStruct() {
// ...
} - I na koniec, dla metody określonego typu, dodajesz nazwę typu, podkreślenie, a następnie nazwę metody. Oto demonstracja:
func(m *MyStruct)MyMethod() {
// ...
}funcExampleMyStruct_MyMethod() {
// ...
}
Można zdefiniować wiele przykładów dla encji, dodając dodatkowe podkreślenie i przyrostek rozpoczynający się od małej litery. Na przykład, PrzykładMultiply_sekunda, PrzykładMyStruct_MyMethod_sekunda.
Możesz także mieć większy przykład wyjaśniający złożoną logikę za pomocą a przykład całego pliku.
Przykładem całego pliku jest plik, który kończy się na _test.go i zawiera dokładnie jedną funkcję przykładową, żadnych funkcji testowych ani testowych oraz co najmniej jedną inną deklarację na poziomie pakietu. Podczas wyświetlania takich przykładów godoc pokaże cały plik. - Blog deweloperski Go
Silnik Go rozpoznaje i obsługuje przykładowe funkcje zgodnie z ich definicją.
Możesz skorzystać z Nieuporządkowane wyjście alternatywa dla komentarzy wyjściowych. Jest to szczególnie przydatne w scenariuszach, w których funkcja zwraca listę, która nie jest oczekiwana w określonej kolejności.
Dokumentowanie kodu za pomocą przykładowych funkcji
Przykładowe funkcje są przydatne zarówno do celów dokumentacyjnych, jak i testowych. Przykładowa funkcja zwykle lepiej wyjaśnia zachowanie niż komentarze.
Tak jak JavaDoc, Idź S wbudowane narzędzie do dokumentacji, godoc, ułatwia dokumentowanie kodu. Będziesz jednak chciał wspólnie udokumentować niektóre biblioteki i funkcje, aby uzyskać pełniejszy obraz ich działania. Przykłady eliminują tę porażkę, ponieważ mogą wykazać interakcje pomiędzy różnymi jednostkami opakowania.
The Godok narzędzie automatycznie kojarzy przykłady z funkcjami, typami i pakietami, do których należą, w zależności od specyfikacji. Idzie także o krok dalej, umożliwiając eksperymentowanie w interfejsie sieciowym dokumentacji.
Możesz wypróbować pakiet lub metodę bezpośrednio z dokumentacji, zanim jeszcze użyjesz jej w swoim kodzie.
Ten obraz pokazuje przykład dla json. Ważny funkcjonować pod kodowanie/json:
Używanie przykładowych funkcji do testu jednostkowego
Przykładowe funkcje są również testami wykonywalnymi. Kiedy uruchomisz idź na test polecenie, silnik uruchamia każdą przykładową funkcję z końcowym komentarzem wyjściowym i upewnia się, że jej wynik odpowiada treści komentarza.
Ta funkcja jest przydatna na wiele sposobów. Może służyć jako dodatkowa warstwa testowanie w celu zapewnienia niezawodnego kodu, pomaga także śledzić dokumentację w przypadku zmian w kodzie.
Na przykład, jeśli dokonasz zmiany, która ma wpływ na działanie określonej funkcji i wynik, jaki zwraca. Jeśli nie zaktualizujesz komentarza wyjściowego w przykładzie, aby uwzględnić nowe zmiany, testy dla tego przykładu nie powiodą się.
Pomaga to bardzo w zapobieganiu przestarzałej dokumentacji, ponieważ dokumentacja będzie zawsze aktualna z kodem.
Przykładowe funkcje tworzą niezawodny kod i dokumentację
Dokumentacja jest istotną częścią tworzenia oprogramowania, ale niewiele języków zapewnia tak potężną platformę do dokumentowania i testowania kodu.
Go zawiera wszystko, czego potrzebujesz do tworzenia wysokiej jakości dokumentacji dla swojego oprogramowania, a przykładowe funkcje są tego istotną częścią. Użyj przykładów, aby pomóc użytkownikom i współpracownikom szybciej zaadaptować i zrozumieć Twój kod.