좋은 코드를 만든다는 것은 잘 문서화된 코드를 만든다는 의미이다. 항상 강조하듯이 코드만을 보고도 이해가 가는 코드는 정말 훌륭한 코드이다. 하지만 실제는 이렇게 가기가 쉽지 않다. 그리하여 외부 문서를 많이들 만들어 배포를 하곤 한다. Guide라는 형식의 문서들 말이다... 하지만 우리는 멈추면 안된다. 그리하여 스스로 - 문서화하는(Self-Documenting)코드를 작성해야 한다.

  코드를 좋은 문서로 만들기 위해 할 수 있는 모든일을 해야 한다.
- 누구든지 읽을 수 있는 종류의 문서
- 작성자보다 더 많은 사람들이(다른 프로그래머 또는 사용자들) 이해할 수 있어야 한다.
- 의사소통을 위하여 간단 명료해야 한다. 명료한 의사소통은 아주 중요하다!
- 코드가 명료하면 실수할 가능성이 적어지기 때문에, 코드의 품질이 높아지고, 유지보수 비용이 줄어든다.

ex)
int fval(int i)
{
int ret = 2;
for(int n1=1, n2=1, i2=i-3; i2>=0; --i2)
{
n1 =n2; n2=ret; ret=n2+1;
}
return (i<2) ? 1 : ret;
}

int CalFibonacci(int a_nPosition)
{
if(a_nPostion < 2)
         return 1;
int nPreviousButOne = 1;
int nPrevious           = 1;
int nAnswer             = 2;

for(int n = 2; n < a_nPosition; ++n)
{
             nPreviousButOne = nPrevious;
             nPrevious           = nAnswer;
             nAnswer             = nPrevious + nPreviousButOne;
}
return nAnswer;
}

눈으로 보아도 너무나 차이가 난다.... 특별한 코멘트가 없더라도 읽을 수 있는가와 읽을 수 없는가의 차이이다...

WRITTEN BY
정현석
이것저것 끄적끄적....

,