Rule Number |
Rule Definition | 비고 |
PRE00-C | 함수형 매크로보다 인라인 또는 정적 함수를 선호합니다. | 매크로는 실제 함수의 사용법과 유사하기 때문에 위험하지만 의미가 다릅니다. 인라인 함수 지정자는 C99 표준의 C 프로그래밍 언어에 도입되었습니다. 인라인 함수는 상호 교환적으로 사용될 수 있는 경우 매크로보다 선호되어야 합니다. |
PRE02-C | 매크로 대체 목록은 괄호로 묶어야 합니다. | 주변 표현식으로부터 우선순위가 낮은 연산자를 보호하려면 매크로 대체 목록을 괄호로 묶어야 합니다. PRE00-C도 참조하세요. |
PRE10-C | 다중 문장 매크로는 do-while 루프로 감싸세요. | 매크로는 일련의 여러 명령문을 그룹으로 실행하는 데 자주 사용됩니다. 일반적으로 인라인 함수는 이 작업에 더 적합합니다(PRE00-C 참조. 함수형 매크로보다 인라인 또는 정적 함수를 선호합니다). 그러나 때로는 실행 가능하지 않은 경우도 있습니다. (예를 들어 매크로가 다른 유형의 변수에 대해 작동해야 하는 경우). |
PRE11-C | 매크로 정의를 세미콜론으로 끝내지 마십시오. | 매크로는 소스 코드를 더 읽기 쉽게 만들기 위해 자주 사용됩니다. 매크로 정의는 단일 또는 다중 명령문으로 확장되는지 여부에 관계없이 세미콜론으로 끝나서는 안 됩니다. (PRE10-C를 참조하세요. 다중문 매크로를 do-while 루프로 감싸세요.) 필요한 경우 매크로 확장 뒤에 세미콜론을 포함해야 합니다. 실수로 매크로 정의 끝에 세미콜론을 삽입하면 프로그램의 제어 흐름이 예기치 않게 변경될 수 있습니다. |
728x90
'소프트웨어 개발(SW Dev) > Rule(CERT C)' 카테고리의 다른 글
CERT C - EXP 규칙 목록 (0) | 2024.11.08 |
---|---|
CERT C - DCL 규칙 목록 (0) | 2024.11.07 |
CERT C 규칙 카테고리(표) (0) | 2024.10.24 |
CERT C 규칙 카테고리 설명 (0) | 2024.03.07 |
01. Preprocessor (PRE), 전처리기 (0) | 2023.09.25 |
댓글