Schnittstellenbenennungskonvention in Go
Problem:
Die Best Practices für die Benennung von Schnittstellen, insbesondere in Go diejenigen, die eine einzelne Methode oder eine Reihe verwandter Methoden definieren Methoden.
Antwort:
-
Einzelmethoden-Schnittstellen: Für Schnittstellen mit einer einzelnen Methode besteht die Konvention darin, ein Suffix zu verwenden wie „-er“, um Agentennomen zu erstellen. Beispiele hierfür sind „Reader“, „Writer“, „Closer“.
-
Schnittstellen mit mehreren Methoden: Wenn eine Schnittstelle über mehrere Methoden verfügt, wählen Sie einen beschreibenden Namen, der ihren beabsichtigten Zweck widerspiegelt. Beispiele hierfür sind „net.Conn“, „http.ResponseWriter“, „io.ReadWriter“.
Detaillierte Erklärung:
Einzelmethode Schnittstellen:
- Das Suffix „-er“ trägt zur Schaffung einer Konsistenz bei Benennungsmuster für Ein-Methoden-Schnittstellen.
- Diese Konvention vermeidet Verwechslungen mit Funktionsnamen, die ähnliche Bedeutungen haben. Benennen Sie beispielsweise eine Schnittstellenmethode nicht „ToString“, es sei denn, sie verfügt über dieselbe Signatur und Funktionalität wie die Methode „String“.
Schnittstellen mit mehreren Methoden:
- Wenn eine Schnittstelle mehrere Methoden enthält, sollte der Name ihren Gesamtzweck klar beschreiben.
- Dadurch wird sichergestellt, dass Entwickler sie leicht verstehen können Funktionalität der Schnittstelle, ohne die Dokumentation jeder Methode lesen zu müssen.
Empfängernamen in Methoden:
- Verwenden Sie keine generischen Empfängernamen wie „ this“ oder „self“.
- Verwenden Sie stattdessen kurze, ein- oder zweistellige Namen, die den Empfängertyp widerspiegeln. Dies trägt zur Verbesserung der Lesbarkeit und Konsistenz des Codes bei.
Zusätzliche Ressourcen:
- [Effective Go: Schnittstellennamen](https://go.dev /doc/ Effective_go#interface_names)
- [Schnittstellentypen @ Was steckt in einem Namen? - Vorträge auf golang.org](https://talks.golang.org/2011/names.slide)
- [Receivers @ What's in a name? - Vorträge auf golang.org](https://talks.golang.org/2011/names.slide#47)
- [Go Code Review Comments: Receiver Names](https://github.com/ golang/go/wiki/CodeReviewComments#receiver-names)
Das obige ist der detaillierte Inhalt vonWie benennen Sie Schnittstellen in Go effektiv, insbesondere wenn sie eine einzelne Methode oder eine Reihe verwandter Methoden definieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!