golang 명명 규칙을 위반하지 않고 아래의 상수를 더 읽기 쉽게 만들 수있는 방법이 있습니까?접착제로 붙여진 약어 및 골란 (golang) 명명 규칙
const (// stream types
MPEGDASHStream = iota
HLSStream = iota
MPEGTSUDPStream = iota
MPEGTSRTPStream = iota
)
golang 명명 규칙을 위반하지 않고 아래의 상수를 더 읽기 쉽게 만들 수있는 방법이 있습니까?접착제로 붙여진 약어 및 골란 (golang) 명명 규칙
const (// stream types
MPEGDASHStream = iota
HLSStream = iota
MPEGTSUDPStream = iota
MPEGTSRTPStream = iota
)
이동의 이름 지정 규칙은 오히려 밑줄보다 MixedCaps을 선호하므로 사용하지 않습니다. 출처 : Effective Go: MixedCaps
일반적으로 엔티티의 여러 값에 대한 상수가있는 경우보다 쉽게 읽을 수있는 방법은 엔티티에서 상수 이름을 시작한 다음 구체적인 값의 이름이 오는 것입니다.
const (
MethodGet = "GET"
MethodHead = "HEAD"
MethodPost = "POST"
// ...
)
const (
StatusContinue = 100 // RFC 7231, 6.2.1
StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2
StatusProcessing = 102 // RFC 2518, 10.1
StatusOK = 200 // RFC 7231, 6.3.1
StatusCreated = 201 // RFC 7231, 6.3.2
// ...
)
은 또한 당신이 iota
식별자로 표현을 반복 할 필요가 없습니다 : 위대한 예는 net/http
패키지입니다. 괄호 const
선언 목록 내 Spec: Constant declarations:
는 식 목록은 제 선언 있지만 생략 될 수있다. 이러한 빈 목록은 비어 있지 않은 첫 번째 표현식 목록의 텍스트 대체 및 해당 유형 (있는 경우)과 동일합니다. 따라서 표현식 목록을 생략하면 이전 목록을 반복하는 것과 같습니다.
따라서 귀하의 경우 단순히 매우 명확하고 읽을 수있는 다음과 같을 수 있습니다 :
이// stream types
const (
StreamMPEGDASH = iota
StreamHLS
StreamMPEGTSUDP
StreamMPEGTSRTP
)
또한 자세한 내용은 Go Code Review Comments를 참조하십시오. 약어는 Initialisms 섹션에서 찾을 수 있습니다
단어를 이니셜이나 약어 (예 : "URL"또는 "NATO")입니다 일관된 경우이 이름에. 예를 들어, "URL"은 "URL"또는 "url"(예 : "urlPony"또는 "URLPony")로 나타나야하며 "Url"로 나타나지 않아야합니다. 여기 예제가 있습니다 : ServeHTTP ServeHttp.
이 규칙은 "식별자"가 짧을 때 "ID"에도 적용되므로 "appId"대신 "appID"로 작성하십시오.
그렇습니다. 그러나 연속 된 두문자어는 어떻게됩니까? 그들은 그 (것)들을 확실히 읽을 수 없게한다. – ababo
나는 이것을 더 좋아한다! 효과적인 go 웹 페이지도 다음과 같이 말합니다. –
"MixedCaps 마지막으로, Go의 규칙은 여러 단어의 이름을 쓰는 데 밑줄이 아닌 MixedCaps 또는 mixedCaps를 사용하는 것입니다." –
왜 밑줄을 사용하지 않습니까? 'MPEG_DASH_STREAM' –
그건 논리적이지만 추천 한게 아닌가. – ababo
코드 스타일을 깨지 않고도 더 쉽게 읽을 수있는 방법이 있다고 생각하지 않습니다. 나는 당신이 원하는 것을 고집하고, icza의 조언을 받아 상수 앞에 'Stream'을 넣을 것을 제안합니다. –