C# : Namespace 명명 규칙
C#에서 네임스페이스의 명명 규칙은 주로 회사 또는 프로젝트의 구조에 맞게
최상위부터 하위로 계층적인 구조를 따르는 것이 일반적입니다.
네임드 스페이스로 명명을 하게되면 무엇인지 즉시 알수 있도록 명확성과 구분을 하는 용도로 사용한다.
< 명명 가이드 >
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
반응형
< 예시 >
테스트 툴(Test Tool) 이라는 개념과 에디터 (Editor)라는 개념으로 네임드스페이스를 만드는 경우를 간단하게 정리한다.
'Editor.TestTool' 으로 네임드 스페이스를 정의하는 경우 |
Editor'라는 큰 범주 안에 'TestTool'이 존재한다는 것을 암시합니다. 이렇게 명명하면 'Editor'라는 모듈이나 기능 내의 다양한 서브기능 중 하나로 'TestTool'을 분류할 수 있습니다. |
'TestTool.Editor' 으로 네임드 스페이스를 정의하는 경우 |
'TestTool'이라는 범주 내에서 'Editor'가 특정 기능이나 모듈임을 나타냅니다. 'TestTool'이 메인 주제나 기능이고, 그 안에서 'Editor'의 역할이 더 중요하다고 판단되면 이 구조가 더 명확할 수 있습니다. |
< 결론 >
어느 형태가 더 좋은지는 네임스페이스의 의미와 프로젝트의 구조에 따라 다르다.
일반적인 가이드라인은 다음과 같다.
설명 | |
조직적 관점 | 네임스페이스는 조직적인 관점에서도 의미가 통할 수 있도록 구성해야 한다. 팀이나 프로젝트 내에서 공통적으로 이해할 수 있는 구조로 네임스페이스를 명명해야 한다. |
계층 구조 | 네임스페이스는 더 상위 개념이 먼저 오고, 세부 사항은 점점 하위로 내려가는 계층적인 구조로 설정한다. |
일관성 | 프로젝트 전반에 걸쳐 네임스페이스 명명 규칙이 일관되게 적용되도록 해야 한다. |
네임스페이스의 이름 - Framework Design Guidelines : [ 링크 ]
★☆☆☆☆
반응형
'개발 > 기본) 기본기' 카테고리의 다른 글
기본기)C#) 튜플 값 변경 List<(enum,bool)> (0) | 2024.08.08 |
---|---|
기본기) Off-by-one error (인덱스 에러) (0) | 2024.07.23 |
기본기) 타입 추론 (Type Inference) (0) | 2024.05.17 |
기본기)C# Null 전파 사용(dotnet style null propagation) (0) | 2024.05.13 |
기본기) 비교 연산 차이 (Equls , == ) (0) | 2024.04.23 |
댓글