콘텐츠로 이동

네임스페이스 이름 (Namespace Names)

네임스페이스 이름은 snake_case(모두 소문자, 단어 사이에 밑줄 포함)입니다.

네임스페이스 이름을 선택할 때, 정규화되지 않은 별칭은 일반적으로 금지되기 때문에 네임스페이스 외부 헤더에 사용될 때 이름은 정규화되어야 합니다.

최상위 네임스페이스는 전역적으로 고유하고 인식 가능해야 하므로 각 네임스페이스는 단일 프로젝트 또는 팀이 소유해야 하며 해당 프로젝트 또는 팀의 이름을 기반으로 한 이름을 사용해야 합니다. 일반적으로 네임스페이스의 모든 코드는 네임스페이스와 이름이 같은 하나 이상의 디렉터리 아래에 있어야 합니다.

중첩된 네임스페이스는 잘 알려진 최상위 네임스페이스, 특히 std 및 absl 의 이름을 피해야 합니다. 왜냐하면 C++에서 중첩된 네임스페이스는 다른 네임스페이스의 이름과 충돌로부터 보호되지 않기 때문입니다(TotW #130 참조).


이해하기 쉽게 설명하기

핵심: 네임스페이스는 snake_case

네임스페이스 이름은 모두 소문자에 단어 사이 밑줄(snake_case)입니다.

규칙

  • 최상위 네임스페이스는 전역적으로 고유해야 하므로, 소유한 프로젝트·팀 이름을 기반으로 짓습니다. 보통 그 코드는 네임스페이스와 같은 이름의 디렉터리 아래에 둡니다.
  • 중첩 네임스페이스는 잘 알려진 최상위 이름(특히 std, absl)을 피하세요. C++에서 중첩 네임스페이스는 다른 네임스페이스 이름과의 충돌로부터 보호되지 않습니다.