Go でのインターフェイスの命名規則
Go でインターフェイスを作成する場合、可読性を高め、インターフェイス内での一貫性を維持するために、確立された命名規則に従うことが重要です。 codebase.
一般的な規則の 1 つは、単一のメソッド。たとえば、Reader、Writer、Formatter などのインターフェイスは、このルールに従います。
複数のメソッドを持つインターフェイスの場合は、その目的を正確に説明する名前を選択することをお勧めします。例には、net.Conn (ネットワーク接続用)、http.ResponseWriter (HTTP 応答用)、io.ReadWriter (読み取りと書き込みの両方用) が含まれます。
レシーバー オブジェクトに名前を付けるときは、次のような一般的な用語を避けることをお勧めします。これか自分自身。代わりに、クライアントの場合は c、serverHandler の場合は sh など、レシーバーのタイプを反映する略語を使用します。
次の例を考えてみましょう。
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 ... }
提案された規則に基づいて、適切なインターフェイスとレシーバーを指定します。上記のコードの名前は次のようになります:
または、両方の機能を 1 つのインターフェイスにマージすることが望ましい場合は、適切な名前は、RoleManager になります。
一貫性を覚えておいてください。インターフェイスとレシーバーに名前を付ける際の鍵となります。明確で説明的で、上で概説した規則に従っている名前を選択してください。これにより、Go コードの可読性と保守性が向上します。
以上がGo で効果的なインターフェイスとレシーバー名を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。