La dépréciation
La méthode de marquage des fonctions comme obsolète est quelque chose comme ceci:
type MyStruct struct {
}
// MyFunc returns hello
// Deprecated: Use YourFunc
func (m MyStruct) MyFunc() string {
return "hello"
}
Les Ide modernes mettra en évidence les usages de cette fonction et linters pourrait aussi soulever des mises en garde (je n'ai pas vérifié personnellement ce)
Accepter les interfaces. De retour des structures.
Populaire meilleure pratique est "Accepter les interfaces. De retour des structures." - qui tend à encourager SOLIDE de conception dans le logiciel.
Toutefois, le code suivant qui suit cette meilleure pratique - dissimule la désapprobation d'avertissement:
// 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()
}
Question
Est-il une solution à ce problème?
Si je ont été, par exemple, un responsable de la bibliothèque: comment puis-je m'assurer que mon dépréciation des avertissements sont visibles par les utilisateurs de la bibliothèque qui sont également à la suite de bonnes pratiques et la définition de leur propre dépendance des interfaces.