Dezaprobare
Acceptate mod de marcare funcții ca învechită este ceva de genul:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
Modern Idele va evidenția orice utilizări de această funcție și linters s-ar putea ridica, de asemenea, avertismente (nu am verificat personal acest lucru)
Accepta interfețe. Reveni structs.
O populare mai bune practici este "Accept interfețe. Reveni struct." - care tinde să încurajeze design SOLID în software-ul.
Cu toate acestea, codul de mai jos - care urmează cele mai bune practici - ascunde dezaprobare de avertizare:
// 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()
}
Întrebare
Există o soluție la această problemă?
Dacă aș fi fost, de exemplu, o bibliotecă de întreținere: cum mă pot asigura că-mi dezaprobare avertismente sunt văzute de utilizatori de bibliotecă, care sunt, de asemenea, următoarele cele mai bune practici și definirea propriilor dependență interfețe.