"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에서 효과적인 인터페이스와 수신기 이름을 선택하는 방법은 무엇입니까?

Go에서 효과적인 인터페이스와 수신기 이름을 선택하는 방법은 무엇입니까?

2024년 11월 14일에 게시됨
검색:974

How to Choose Effective Interface and Receiver Names in Go?

Go의 인터페이스 명명 규칙

Go에서 인터페이스를 생성할 때 가독성을 높이고 작업 내에서 일관성을 유지하기 위해 확립된 명명 규칙을 따르는 것이 중요합니다. codebase.

일반적인 규칙 중 하나는 단일 메서드를 지정하는 인터페이스에 "er" 접미사를 사용하는 것입니다. 예를 들어 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 ...
}

제안된 규칙에 따라 위 코드에 적합한 인터페이스 및 수신자 이름은 다음과 같습니다.

  • Interface: RoleChecker 또는 RoleVerifier
  • Receiver: r 또는 role

또는 두 기능을 단일 인터페이스로 병합하는 것이 선호되는 경우 적절한 이름은 RoleManager가 될 수 있습니다.

인터페이스와 수신자 이름을 지정하는 데 있어 일관성은 핵심입니다. 명확하고 설명적이며 위에 설명된 규칙을 준수하는 이름을 선택하십시오. 이렇게 하면 Go 코드의 가독성과 유지관리성이 향상됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3