컴퓨터 이야기

코딩 잘 하는 방법

morphix 2005. 1. 17. 00:16
Writing Solid Code와 같은 책이나 다른 사람을 통해서, 또는 경험적으로 알게 된 내용입니다. C, C++ 코딩을 대상으로 하고 있습니다.

1. ASSERT(...) 를 많이 쓰자.
windows 쪽에서는 ASSERT(...) 내지는 _ASSERT(...)를, UNIX 계열에서는 c runtime library에 assert.h에 assert(...) 함수가 있어서 사용할 수 있습니다.

2. const를 많이 쓰자.
한 번 초기화된 후 변하지 않을 값은 const를 써 주는게 상당히 좋습니다. readibility가 좋아질 뿐더러 compiler가 체크를 해 줄 수 있기 때문에 상당히 유효합니다.

3. define 대신에 enum 혹은 inline 함수를 쓰자.
#define을 사용한 것은 컴파일러가 타입체킹을 해주지 못합니다.

4. 2번이상 반복되는 코드는 따로 분리하거나 일관되게 처리하자.
반복되는 코드는 따로 함수로 뽑아내거나, 아니면 while, for loop로 일관되게 처리하면 코드가 짧아지고 가독성이 좋아집니다.

5. 컴파일러를 최대한 활용하자.
- #pragma message(...) (컴파일할 때 메시지를 출력하는 키워드, 컴파일러에 의존적임.) 같은 코드를 넣어두어 할 일이나 코딩중에 주의할 일을 기록해두면 작업중인 파일을 컴파일 할 때마다 notify를 받을 수 있기 때문에 유용합니다.
- 컴파일시에 특정 상수값이 적합한지를 검사하는 코드를 추가한다.
예를 들어
const int list_size = 1024;
const char *list[] = { "a", "b", "c", "d" };
void compile_time_check()
{
char dummy[(sizeof(list) / sizeof(list[0]) == list_size) ? 1 : 0];
}

to be continued...