삽질의 현장/- Go

Practical Go - Identifiers

shovelman 2020. 12. 20. 21:51

잘못된 이름을 네이밍 하는 것은 잘못된 디자인의 증상이다.

Go의 제한된 구문을 감안할 때, 프로그램에서 선택한 이름은 프로그램의 가독성에 큰 영향을 미친다.

가독성은 좋은 코드의 품질을 정의하므로 좋은 이름을 선택하는 것은 Go 코드의 가독성에 매우 중요하다.

Choose identifiers for clarity, not brevity

간결성이 아닌 명확성을 위해 식별자를 선택한다.

명백한 코드가 중요하다. 한 줄로 할 수 있는 일은 세 줄로 해야 한다.

Go는 프로그램을 최소 라인 수로 최적화해야 하는 언어가 아니다.

좋은 이름 지정은 좋은 농담과 같다. 설명해야 한다면 재미가 없다.

 

좋은 이름은 간결하다. 좋은 이름은 가능한 한 가장 짧은 필요는 없지만 좋은 이름은 관련 없는 것에 공간을 낭비해서는 안된다.

좋은 이름은 설명적이다. 좋은 이름은 내용이 아닌 변수 또는 상수의 응용 프로그램을 설명해야 한다. 좋은 이름은 구현이 아닌 함수의 결과 또는 메서드의 동작을 설명해야 한다. 좋은 이름은 내용이 아닌 패키지의 목적을 설명해야 한다. 이름이 식별하는 것을 더 정확하게 설명할수록 이름이 더 좋다.

좋은 이름은 예측 가능해야 한다. 이름만으로 기호가 사용되는 방식을 추론할 수 있어야 한다.

Identifier length

이름 지정에 대한 대부분의 조언은 문맥에 따른다는 점을 인식하라

짧은 변수 이름은 선언과 마지막 사용 거리가 짧을 때 잘 작동한다.

긴 변수 이름은 스스로 정당화해야 한다. 더 길 수록 많은 가치를 제공해야 한다.

변수 이름에 유형 이름을 포함하지 말라.

상수는 값이 사용되는 방식이 아니라 부유하는 값을 설명해야 한다.

루프 및 분기에 단일 문자 변수, 매개 변수 및 반환 값에 단일 단어, 함수 및 패키지 수준 선언에 여러 단어를 선호한다.

메서드, 인터페이스 및 패키지에 대해 단일 단어를 선호한다.

패키지의 이름은 호출자가 참조하는 데 사용하는 이름의 일부라는 것을 기억하라.

단락을 사용하여 문서의 흐름을 나누는 것과 같은 방식으로 빈 줄을 사용하여 함수의 흐름을 나눠라.

Don't name your variables for their types

유형에 대한 변수 이름을 지정하지 말라.

패키지 이름이 좋은 변수 이름을 훔치지 않도록 해라. (ex. ctx)

Use a consistent naming style

일관된 이름 지정 스타일 사용

Go 스타일은 수신자가 단일 문자 이름 또는 해당 유형에서 파생된 두 문자어를 갖도록 지정한다. 수신자의 이름이 메서드의 매개 변수 이름과 충돌하는 경우가 있다. 이 경우 매개 변수 이름을 약간 더 길게 만들고 새 매개변수 이름을 일관되게 사용해라.

Use a consistent declaration style

변수를 선언하지만 초기화하지 않을 때는 var를 사용한다.

선언 및 초기화 시 := 를 사용한다. 코드를 읽는 개발자에게 왼쪽에 있는 변수가 의도적으로 초기화되고 있음을 분명히 한다.

 

출처 : Practical Go: Real world advice for writing maintainable Go programs

'삽질의 현장 > - Go' 카테고리의 다른 글

Practical Go - API Design  (0) 2020.12.20
Practical Go - Project Structure  (0) 2020.12.20
Practical Go - Package Design  (0) 2020.12.20
Practical Go - Comment  (0) 2020.12.20
Practical Go - Principles underlying Go itself  (0) 2020.12.20