2008/12/13에 해당되는 글 1건
2008.12.13 :: Control Statements and Loops
2008. 12. 13. 01:07 :: Code Convention
1. if
- if-else statement 에서 else, else if 부분은 독립적인 줄에 기술한다.
- 정상적인 경우를 먼저 처리한다.
- 판단문은 단순화 한다
- if-else statement 와 function macro 가 함께 사용될 경우
# if-else 안이 한문장이더라도 brace를 해준다.
if (x == 3)
{
# macro 내에서 brace를 한다.
#define m_STMT(stuff) { do {stuff} while(0) }
#define m_SP3() m_STMT ( if (b) {int x; ab = f(&x); bv += x; } )
if (x == 3)
if (x == 3)
{
m_SP3();
}
else
{
else
{
m_BORK();
}
# macro 내에서 brace를 한다.
#define m_STMT(stuff) { do {stuff} while(0) }
#define m_SP3() m_STMT ( if (b) {int x; ab = f(&x); bv += x; } )
if (x == 3)
m_SP3();
else
m_BORK();
2. switch
- case는 switch와 같은 indent 를 가지며, 독립적인 줄에 기술한다.
- default를 제외한 모든 case에는 break statement를 사용한다.
만약, 이를 의도적으로 사용하지 않을 경우 comment 를 붙여준다.
- default 문은 에러를 찾는 목적으로 사용한다.
- default를 제외한 모든 case에는 break statement를 사용한다.
만약, 이를 의도적으로 사용하지 않을 경우 comment 를 붙여준다.
- default 문은 에러를 찾는 목적으로 사용한다.
switch (expr)
{
case ABC:
case DEF:
{
case ABC:
case DEF:
statement
break;
case UVW:
statement
/* FALL THROUGH */
case XYZ:
statement
break;
}
3. for / while
- null body를 가지는 경우 null statement 를 독립된 줄에 기술하고 comment 를 작성한다.
- do-while 문의 경우 항상 {}를 사용한다.
- do-while 문의 경우 항상 {}를 사용한다.
while (*dest++ = src++)
; /* NULL */