Deprecazione
Il modo di marcatura funzioni deprecate è qualcosa di simile a questo:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
Moderni Ide evidenziare eventuali usi di questa funzione e linters potrebbe anche raccogliere le segnalazioni (non ho controllato questo)
Accettare le interfacce. Ritorno strutture.
Un famoso esempio di buona pratica è "Accettare le interfacce. Ritorno strutture." - che tende ad incoraggiare SOLIDO di progettazione del software.
Tuttavia, il seguente codice che segue questa buona pratica nasconde l'apposito messaggio di avviso:
// 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()
}
Domanda
C'è una soluzione a questo problema?
Se fossi, per esempio, una biblioteca responsabile: come posso verificare che la mia disapprovazione avvisi sono visibili da tutti gli utenti della biblioteca che stanno seguendo le migliori pratiche e la definizione di una propria dipendenza interfacce.