Maison > Article > développement back-end > Comment choisir des noms d'interface et de récepteur efficaces dans Go ?
Conventions de dénomination des interfaces dans Go
Lors de la création d'interfaces dans Go, il est essentiel de suivre les conventions de dénomination établies pour améliorer la lisibilité et maintenir la cohérence au sein de votre codebase.
Une convention courante consiste à utiliser un suffixe "er" pour les interfaces qui spécifient une seule méthode. Par exemple, des interfaces telles que Reader, Writer et Formatter adhèrent à cette règle.
Pour les interfaces comportant plusieurs méthodes, il est recommandé de choisir un nom qui décrit avec précision leur objectif. Les exemples incluent net.Conn (pour les connexions réseau), http.ResponseWriter (pour les réponses HTTP) et io.ReadWriter (pour la lecture et l'écriture).
Lorsque vous nommez des objets récepteurs, il est conseillé d'éviter les termes génériques comme ceci ou soi. Utilisez plutôt des abréviations qui reflètent le type de récepteur, telles que c pour Client ou sh pour serverHandler.
Considérez l'exemple suivant :
type Role string type RolesHierarchy []Role // IsRole verifies if a role is within the hierarchy. func (r Role) IsRole(role Role, hierarchy RolesHierarchy) bool { // ... Implementation ... } // AssumeRole sets the role in the session. func (r *Role) AssumeRole(session ServerSession, role Role) { // ... Implementation ... }
Sur la base des conventions suggérées, une interface et un récepteur appropriés les noms du code ci-dessus pourraient être :
Alternativement, si vous fusionnez les deux fonctionnalités dans un une seule interface est préférable, un nom approprié pourrait être RoleManager.
N'oubliez pas que la cohérence est la clé dans la dénomination des interfaces et des récepteurs. Choisissez des noms clairs, descriptifs et respectez les conventions décrites ci-dessus. Cela améliorera la lisibilité et la maintenabilité de votre code Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!