"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como escolher nomes eficazes de interface e receptor no Go?

Como escolher nomes eficazes de interface e receptor no Go?

Publicado em 2024-11-14
Navegar:434

How to Choose Effective Interface and Receiver Names in Go?

Convenções de nomenclatura de interface em Go

Ao criar interfaces em Go, é essencial seguir as convenções de nomenclatura estabelecidas para melhorar a legibilidade e manter a consistência em seu codebase.

Uma convenção comum é usar um sufixo "er" para interfaces que especificam um único método. Por exemplo, interfaces como Reader, Writer e Formatter aderem a esta regra.

Para interfaces com vários métodos, é recomendado escolher um nome que descreva com precisão sua finalidade. Os exemplos incluem net.Conn (para conexões de rede), http.ResponseWriter (para respostas HTTP) e io.ReadWriter (para leitura e gravação).

Ao nomear objetos receptores, é aconselhável evitar termos genéricos como isso ou eu. Em vez disso, use abreviações que reflitam o tipo de receptor, como c para Client ou sh para serverHandler.

Considere o seguinte exemplo:

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 ...
}

Com base nas convenções sugeridas, os nomes de interface e receptor adequados para o código acima poderiam ser:

  • Interface: RoleChecker ou RoleVerifier
  • Receiver: r ou role

Como alternativa, se preferir mesclar ambas as funcionalidades em uma única interface, um nome adequado pode ser RoleManager.

Lembre-se de que consistência é fundamental na nomenclatura de interfaces e receptores. Escolha nomes claros, descritivos e que sigam as convenções descritas acima. Isso melhorará a legibilidade e a manutenção do seu código Go.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3