Blog | Tag | Local | Guest | Login | Write |  RSS


1. if
 
- if-else statement 에서 else, else if 부분은 독립적인 줄에 기술한다. 

- 정상적인 경우를 먼저 처리한다.

- 판단문은 단순화 한다

- if-else statement 와 function macro 가 함께 사용될 경우 

# if-else 안이 한문장이더라도 brace를 해준다.

if (x == 3)
{
m_SP3();
}
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 문은 에러를 찾는 목적으로 사용한다.


switch (expr)
{
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 문의 경우 항상 {}를 사용한다.

while (*dest++ = src++)
; /* NULL */