Avoid Redundancy in Names

Avoid Redundancy in Names

타입 이름을 지을 때는, 아무 타입에나 붙여도 말이 되는 단어는 피하는 게 좋아요. 그런 단어는 사실 아무 의미도 전달하지 못하거든요.

출처: Zig Documentation — Zig 코딩 컨벤션 중 일부입니다. 이 규칙은 컴파일러가 강제하지 않지만, 함께 제공되는 문서에 실려 공인된 스타일의 기준점 역할을 해요.

본문

타입 이름에서 다음 단어들은 피하세요.

  • Value
  • Data
  • Context
  • Manager
  • State
  • utils, misc, 또는 누군가의 이니셜

잠깐, 어째서일까요? 하나씩 따져 보면 답이 나와요. 모든 것은 값(Value)이고, 모든 타입은 데이터(Data)이며, 모든 것은 맥락(Context)이고, 모든 로직은 상태(State)를 관리(Manager)하죠. 즉 이 단어들은 어떤 타입에 붙여도 성립하기 때문에, 이름에 넣어도 전달되는 정보가 없어요. 이름이라는 게 그 타입만의 특징을 드러내야 하는데, 그게 안 되는 셈이에요.

"utilities", "miscellaneous", 또는 누군가의 이니셜 같은 이름을 붙이고 싶어지는 순간은, 분류 자체에 실패한 경우거나 — 더 흔하게는 — 과도하게 분류(overcategorization)를 한 경우예요. 그런 선언들은 굳이 네임스페이스를 만들 필요 없이, 그걸 필요로 하는 모듈의 루트에 그대로 두면 충분해요.

더 알아보기