Go의 인터페이스 명명 규칙
문제:
Go의 인터페이스 명명 모범 사례, 특히 단일 메서드 또는 관련 집합을 정의하는 메서드
답변:
-
단일 메서드 인터페이스: 단일 메서드를 사용하는 인터페이스의 경우 접미사를 사용하는 것이 규칙입니다. 에이전트 명사를 만들려면 "-er"를 사용하세요. 예를 들면 "Reader", "Writer", "Closer"가 있습니다.
-
다중 메서드 인터페이스: 인터페이스에 여러 메서드가 있는 경우 의도한 목적을 반영하는 설명이 포함된 이름을 선택하세요. 예에는 "net.Conn", "http.ResponseWriter", "io.ReadWriter"가 포함됩니다.
자세한 설명:
단일 방법 인터페이스:
- "-er" 접미사는 단일 방법 인터페이스에 대한 일관된 이름 지정 패턴을 설정하는 데 도움이 됩니다.
- 이 규칙은 유사한 의미를 가진 함수 이름과의 혼동을 방지합니다. 예를 들어 "String" 메서드와 동일한 시그니처 및 기능이 없으면 인터페이스 메서드 이름을 "ToString"으로 지정하지 마세요.
다중 메서드 인터페이스:
- 인터페이스에 여러 메소드가 포함된 경우 이름은 전반적인 목적을 명확하게 설명해야 합니다.
- 이렇게 하면 개발자는 각 메서드의 설명서를 읽지 않고도 인터페이스의 기능을 쉽게 이해할 수 있습니다.
메서드의 수신자 이름:
- 사용하지 마세요. "this" 또는 "self"와 같은 일반적인 수신자 이름.
- 대신에 수신기 유형. 이는 코드 가독성과 일관성을 향상시키는 데 도움이 됩니다.
추가 리소스:
- [효과적인 Go: 인터페이스 이름](https://go.dev /doc/valid_go#interface_names)
- [인터페이스 유형 @ 이름에는 무엇이 있나요? - golang.org에서 토크](https://talks.golang.org/2011/names.slide)
- [Receivers @ 이름에는 무엇이 있나요? - golang.org에서 토론](https://talks.golang.org/2011/names.slide#47)
- [Go 코드 검토 댓글: 수신자 이름](https://github.com/ golang/go/wiki/CodeReviewComments#receiver-names)
위 내용은 Go에서 인터페이스의 이름을 효과적으로 지정하는 방법은 무엇입니까? 특히 인터페이스가 단일 메서드 또는 관련 메서드 집합을 정의할 때 더욱 그렇습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!