İtiraz
İşlevleri kullanımdan kaldırılmış olarak işaretlemenin desteklenen yolu şöyle bir şeydir:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
Modern ıde'ler bu işlevin herhangi bir kullanımını vurgulayacak ve linterler de uyarıları yükseltebilir (bunu kişisel olarak kontrol etmedim).
Arayüzleri kabul et. Dönüş yapıları.
Popüler bir en iyi uygulama "Arayüzleri kabul et. Dönüş yapıları."- yazılımda sağlam tasarımı teşvik etme eğilimindedir.
Ancak, bu en iyi uygulamayı izleyen aşağıdaki kod kullanımdan kaldırma uyarısını gizler:
// MyInterface specifies a single function that we require from a dependency
type MyInterface interface {
MyFunc() string
}
func main() {
var v MyInterface
v = MyStruct{}
v.MyFunc()
}
Soru
Bu sorun için bir çözüm var mı?
Örneğin bir kütüphane sorumlusu olsaydım: kullanımdan kaldırma uyarılarımın, en iyi uygulamaları takip eden ve kendi bağımlılık arayüzlerini tanımlayan kütüphane kullanıcıları tarafından görülmesini nasıl sağlayabilirim.