Heim > Artikel > Backend-Entwicklung > Wie wähle ich in Go effektive Schnittstellen- und Empfängernamen aus?
Konventionen zur Benennung von Schnittstellen in Go
Beim Erstellen von Schnittstellen in Go ist es wichtig, etablierte Namenskonventionen zu befolgen, um die Lesbarkeit zu verbessern und die Konsistenz in Ihrem zu gewährleisten Codebasis.
Eine gängige Konvention besteht darin, ein „er“-Suffix für Schnittstellen zu verwenden, die eine einzelne Methode angeben. Beispielsweise befolgen Schnittstellen wie Reader, Writer und Formatter diese Regel.
Für Schnittstellen mit mehreren Methoden wird empfohlen, einen Namen zu wählen, der ihren Zweck genau beschreibt. Beispiele hierfür sind net.Conn (für Netzwerkverbindungen), http.ResponseWriter (für HTTP-Antworten) und io.ReadWriter (sowohl zum Lesen als auch zum Schreiben).
Bei der Benennung von Empfängerobjekten wird empfohlen, generische Begriffe wie zu vermeiden dies oder sich selbst. Verwenden Sie stattdessen Abkürzungen, die den Empfängertyp widerspiegeln, z. B. c für Client oder sh für serverHandler.
Betrachten Sie das folgende Beispiel:
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 ... }
Basierend auf den vorgeschlagenen Konventionen geeignete Schnittstelle und Empfänger Namen für den obigen Code könnten sein:
Alternativ, wenn die Zusammenführung beider Funktionalitäten in einer einzigen Schnittstelle bevorzugt wird, könnte ein passender Name RoleManager sein.
Denken Sie daran, Konsistenz ist der Schlüssel zur Benennung von Schnittstellen und Empfängern. Wählen Sie Namen, die klar und aussagekräftig sind und die oben genannten Konventionen einhalten. Dies verbessert die Lesbarkeit und Wartbarkeit Ihres Go-Codes.
Das obige ist der detaillierte Inhalt vonWie wähle ich in Go effektive Schnittstellen- und Empfängernamen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!