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