Örnek işlevlerle belgelerinizi ve kod testinizi tek bir kolay adımda geliştirin.
Temel Çıkarımlar
- Go'daki örnek işlevler, belge görevi gören ve doğruluğu doğrulamak için kullanılabilen test edilebilir kod parçacıklarıdır.
- Örnek işlevler bir adlandırma kuralını izler ve paketler, işlevler, türler ve yöntemler için tanımlanabilir.
- Örnek işlevler yürütülebilir testlerdir ve kodun güvenilir olmasını sağlamak ve belgeleri güncel tutmak için kullanılabilir.
Go'nun güçlü yönlerinden biri, yerleşik test ve dokümantasyon özelliklerinin zenginliğidir. Bunların arasında, kodunuzu kontrol etmenize ve başkalarına açıklamanıza yardımcı olabilecek "örnek işlevler" adı verilen son derece yararlı bir araç vardır.
Bir Go geliştiricisi olarak, örnek işlevlerin tam olarak ne olduğunu ve bunları bakımı kolay yazılım oluşturmak için nasıl kullanabileceğinizi anlamalısınız.
Örnek İşlevler Nelerdir?
Golang'daki örnek işlevler (veya örnekler), bir pakete belge olarak ekleyebileceğiniz ve doğruluğunu doğrulayabileceğiniz test edilebilir kod parçacıklarıdır. Örnek işlevler parametre almaz ve sonuç da döndürmez.
Aşağıdakilere sahip olduğunuzu hayal edin Çarpmak projenizdeki işlev:
funcMultiply(a, b int)int {
return a * b
}
Örnek bir fonksiyon Çarpmak şöyle görünecek:
funcExampleMultiply() {
fmt.Println(Multiply(4, 5))
// Output: 2
}
Örnek işlevler, işlevleri test etmek için benzer bir adlandırma kuralı kullanır. Fonksiyonun adını "Örnek"e son ek olarak ekleyerek bir fonksiyon örneği tanımlayın. ÖrnekÇarpma Burada.
Örnek Fonksiyonlara Daha Yakından Bakmak
Önceki bölümdeki kod, örnek bir fonksiyonun temel yapısını gösterir. Bir örneği oluşturan şey, adı, işlevin gövdesi ve işlevin sonundaki isteğe bağlı çıktı yorumudur.
Çıkış yorumunu eklediğinizde Go, doğruluğunu doğrulamak için örneği derler ve yürütür, ancak yorum olmadan Go yalnızca örnek işlevi derler, yürütmez.
Bir tür üzerinde bir paket, bir işlev, bir tür ve bir yöntem için bir örnek tanımlayabilirsiniz.
Farklı varlıklar için örneklerin tanımlanması farklı yaklaşımlar gerektirir.
- Bir pakete örnek tanımlamak için işlevinizi çağırmanız yeterlidir. Örnek(), herhangi bir son ek olmadan. Örneğin, paket düzeyinde bir örnek:
funcExample() {
fmt.Println("Hello, world!")
// Output:
// Hello, world!
} - Bir fonksiyona örnek tanımlamak için, daha önce öğrendiğiniz gibi fonksiyon adını sonek olarak eklemeniz yeterlidir.
funcExampleMultiply() {
fmt.Println(Multiply(4,5))
// Output: 2
} - Bir türe örnek tanımlamak için adı sonek olarak ekleyin. Örnek. İşte bir örnek:
type MyStruct struct {
// ...
}funcExampleMyStruct() {
// ...
} - Ve son olarak, belirli bir türdeki yöntem için tür adını, bir alt çizgiyi ve ardından yöntem adını eklersiniz. İşte bir gösteri:
func(m *MyStruct)MyMethod() {
// ...
}funcExampleMyStruct_MyMethod() {
// ...
}
Fazladan bir alt çizgi ve küçük harfle başlayan bir sonek ekleyerek bir varlık için birden fazla örnek tanımlayabilirsiniz. Örneğin, ÖrnekMultiply_second, ÖrnekMyStruct_MyMethod_second.
Ayrıca karmaşık mantığı açıklamak için daha büyük bir örneğiniz de olabilir. tüm dosya örneği.
Tam bir dosya örneği, şu şekilde biten bir dosyadır: _test.go ve tam olarak bir örnek fonksiyon içerir, test veya kıyaslama fonksiyonu içermez ve en az bir paket düzeyinde bildirim daha içerir. Bu tür örnekleri görüntülerken godoc tüm dosyayı gösterecektir. - Go geliştirici blogu
Go motoru, örnek işlevlerinizi, onları nasıl tanımladığınıza göre tanır ve işler.
Şunu kullanabilirsiniz: Sırasız çıktı çıktı yorumları için alternatif. Bu, özellikle işlevinizin belirli bir sırada beklenmeyen bir liste döndürdüğü senaryolarda kullanışlıdır.
Örnek Fonksiyonlarla Kodunuzu Belgelemek
Örnek işlevler hem belgeleme hem de test etme amacıyla kullanışlıdır. Örnek bir işlev genellikle davranışı açıklama konusunda yorumlardan daha iyi bir iş çıkarır.
aynen Java'nın Javadoc'u, Git yerleşik dokümantasyon aracı, godoc, kodun kolayca belgelenmesine yardımcı olur. Ancak nasıl çalıştıklarını daha iyi anlamak için bazı kitaplıkları ve işlevleri birlikte belgelemek isteyeceksiniz. Örnekler, bir paketin çeşitli birimleri arasındaki etkileşimleri gösterebildiği için bu aksaklığı ortadan kaldırır.
Godoc araç, spesifikasyonlarınıza bağlı olarak örnekleri ait oldukları işlevler, türler ve paketlerle otomatik olarak ilişkilendirir. Ayrıca dokümantasyon web arayüzünde denemelere izin vererek bir adım daha ileri gidiyor.
Bir paketi veya yöntemi kodunuzda kullanmadan önce doğrudan belgelerden deneyebilirsiniz.
Bu resimde bir örnek gösterilmektedir json.json. Geçerli altında işlev kodlama/json:
Birim Testi için Örnek İşlevleri Kullanma
Go örnek işlevleri aynı zamanda yürütülebilir testlerdir. Çalıştırdığınızda teste git komutuyla, motor her örnek işlevi son bir çıktı yorumuyla çalıştırır ve çıktısının yorumdakiyle eşleşmesini sağlar.
Bu yetenek birçok açıdan faydalıdır. Ekstra bir katman görevi görebilir güvenilir kod sağlamak için test etmeAyrıca kodunuz değiştikçe belgelerinizi takip etmenize de yardımcı olur.
Örneğin, belirli bir işlevin nasıl çalıştığını ve döndürdüğü sonucu etkileyen bir değişiklik yaparsanız. Örnekteki çıktı yorumunu yeni değişiklikleri karşılayacak şekilde güncellemezseniz söz konusu örneğin testleri başarısız olur.
Belgeleriniz her zaman kodla güncel olacağından, bu, eski belgelerin önlenmesinde büyük ölçüde yardımcı olur.
Örnek İşlevler Güvenilir Kod ve Dokümantasyon Üretir
Belgeleme, yazılım geliştirmenin önemli bir parçasıdır, ancak çok az dil, kodunuzu belgelemek ve test etmek için size bu kadar güçlü bir platform sunar.
Go, yazılımınız için kaliteli belgeler oluşturmak için ihtiyacınız olan her şeyle birlikte gelir ve örnek işlevler bunun hayati bir parçasıdır. Kullanıcıların ve ortak çalışanların kodunuzu daha hızlı benimsemesine ve anlamasına yardımcı olmak için örnekleri kullanın.