- MISRA C++ 2008 가이드라인 표기 방식을 소개한다.
규칙 표기 방식
- 규칙 표기 방식은 다음과 같다.
- number: 규칙 식별자로서, 처음오는 숫자마다 큰 주제마다 변경된다.
- category: 규칙분류
- headline text: 가이드라인의 제목
- issuse reference: 해당 규칙 이해에 도움이되는 ISO/IEC 14882 : 2003 이슈 위치
Rule[number] ([category]) [headline text] | ||
---|---|---|
[issue reference] |
Rule Classification(category)
- 규칙은 ‘Required’, ‘Advisory’, ‘Document’의 category로 분류된다.
- 해당 분류는 규칙의 중요도를 의미하지 않는다.
Advisory Rules
- 개발자가 일반적으로 준수해야 하는 규칙이다.
- 만약 준수할 수 없는 경우, deviation(예외)가 필요 없지만 적절하다고 판단되는 경우 작성할 수 있다.
Required Rules
- 개발자가 필수로 준수해야 하는 규칙이다.
- 만약 준수할 수 없는 경우, deviation(예외)를 작성해야 한다.
Document Rules
- 개발자가 소스 코드 내에서 관련 기능을 사용할 때, 필수로 준수해야 하는 규칙이다.
- 해당 규칙은 deviation(예외)를 허용하지 않는다.
Scope of Rules
- 대부분의 규칙들은 single translation unit(위배한 규칙이 translation unit 범위 내 즉 전처리된 하나의 C언어 파일에서만 영향을 미치는 경우)에 적용할 수 있지만, 모든 규칙은 가능한 system(시스템 전체 범위에 영향을 미치는 경우)을 고려해야 한다.
- 일반적으로 모든 규칙은 템플릿에 적용해야 하지만, 일부 규칙은 인스턴스화된 템플릿에서만 의미가 있다.
- 별도로 명시되지 않는 한, 모든 규칙은 묵시적으로 선언되거나 정의된 멤버함수(기본 생성자, 복사 생성자, 복사 대입 연산자, 소멸자)에 적용되어야 한다.
Comments powered by Disqus.