#ifdef문을 변경해달라...
이런 경우 너무나 많다.

#ifdef ENABLE_FAST_OPERATION

// 무진장 긴 코드

#ifdef ENABLE_ANOTHER_FAST_OPERATION

#endif

// 긴 코드

#endif


이래가지고서는 #endif가 어느 #ifdef에 해당하는지를 알 수가 없다. 이 문제는 보통의 반복문과 조건문에도 해당하는건데, 반복문이나 조건문은 들여쓰기라도 되어 있지. 대부분의 에디터들이 샵(#) 기호를 넣는 순간 무조건 맨 앞으로 커서를 옮겨버리잖아..

애초부터 이랬어야 했다.

#endif ENABLE_FAST_OPERATION

누구나 알고 있다. 코드는 기계가 읽기도 하지만 사람이 읽을 수 있어야 한다고. 예전에는 소스 코드 바이트 줄이는게 중요했을라나?
 
by smile | 2006/08/17 15:40 | 잡담 | 트랙백 | 덧글(5)
트랙백 주소 : http://smile.egloos.com/tb/1393493
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 와테르 at 2006/08/17 16:30
그래서 보통 이런 식으로 쓰더군요.
#endif // ENABLE_FAST_OPERATION
Commented by 제임스 at 2006/08/17 19:11
그건말이죠... K&R 2nd에서도 #endif만이 valid하기 때문일겁니다. #endif뒤에 내용은 extension이고, compiler에 따라서 지원 안되는 녀석이 가끔 있기때문일듯 싶네요.
그래서 #endif /* ENABLE_FAST_OPERATION */ 이것이 제일 안전한것 같아요^^
여기서 뵈니까 또 반갑네요
Commented by smile at 2006/08/17 20:05
와태르님.. 저도 그렇게 사용합니다.
제임스님.. 역시나 다들 불편해 하고 있겠죠?
Commented by 고공강하 at 2006/08/24 09:26
엄청 불편하죠. #if 시리즈 때문에 두통이 생길 지경이니까요. #elif와 #else도 마찬가지에요. 중첩되면 눈이 핑핑 돌아가기는 마찬가지니까요.
Commented by 유즈미 at 2006/10/09 09:04
저도 그거때문에 코드파악에 어려움을 겪고 있습니다.
하도 예전에 만들어진 코드들이라 주석이 있다가 없다가....

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >