Avoid Redundancy in Names
Avoid Redundancy in Names
타입 이름을 지을 때는, 아무 타입에나 붙여도 말이 되는 단어는 피하는 게 좋아요. 그런 단어는 사실 아무 의미도 전달하지 못하거든요.
출처: Zig Documentation — Zig 코딩 컨벤션 중 일부입니다. 이 규칙은 컴파일러가 강제하지 않지만, 함께 제공되는 문서에 실려 공인된 스타일의 기준점 역할을 해요.
본문
타입 이름에서 다음 단어들은 피하세요.
ValueDataContextManagerStateutils,misc, 또는 누군가의 이니셜
잠깐, 어째서일까요? 하나씩 따져 보면 답이 나와요. 모든 것은 값(Value)이고, 모든 타입은 데이터(Data)이며, 모든 것은 맥락(Context)이고, 모든 로직은 상태(State)를 관리(Manager)하죠. 즉 이 단어들은 어떤 타입에 붙여도 성립하기 때문에, 이름에 넣어도 전달되는 정보가 없어요. 이름이라는 게 그 타입만의 특징을 드러내야 하는데, 그게 안 되는 셈이에요.
"utilities", "miscellaneous", 또는 누군가의 이니셜 같은 이름을 붙이고 싶어지는 순간은, 분류 자체에 실패한 경우거나 — 더 흔하게는 — 과도하게 분류(overcategorization)를 한 경우예요. 그런 선언들은 굳이 네임스페이스를 만들 필요 없이, 그걸 필요로 하는 모듈의 루트에 그대로 두면 충분해요.
더 알아보기
- 완전한 네임스페이스(fully-qualified namespace)에서 이름이 겹치는 문제는 Avoid Redundant Names in Fully-Qualified Namespaces 섹션에서 다뤄요.