Odpisov
Podporované spôsob označenia funkcie, ako zavrhované je niečo ako toto:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
Moderné IDEs poukáže na všetky použitia tejto funkcie, a linters môže tiež zvýšiť varovania (nemám osobne kontrolovať to)
Prijať rozhrania. Návrat structs.
Populárny najlepší postup je "Prijať rozhrania. Návrat structs." - ktorý má tendenciu podporovať SOLÍDNY dizajn v softvéri.
Avšak, tieto kód, ktorý nasleduje tejto najlepšej praxi - zakrýva odpisov upozornenie:
// 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()
}
Otázka
Je tam riešenie tohto problému?
Keby som bola, napríklad, knižnica subjekty vykonávajúce údržbu: ako sa môžem uistiť, že môj odpisov varovanie vidia používatelia knižnice, ktorí sú aj tieto najlepšiu prax a vymedzenie ich vlastných závislosť rozhrania.