Programmer는 왜 문서화를 하지 않을 까?
왜 source code를 보면 모든 것이 있다고 말할 까?
물론 source code에는 모든 것이 있다.
하지만 그것은 쉽지가 않다.
한 번에 모든 것을 파악할 수 없다.
programmer는 너무 자세하고 정확한 것에 집착한 나머지,
쉬운 이해와 설명의 측면을 간과하고 있다.
economics에서는 이렇게 말하고 있다.
"A model is an abstract representatino of realty"
"A model should be as simple as possible to accomplish its purpose"
자신이 만든 프로그램을 설명할 수 있는 한도 내에서 가장 간략하게 모델링해서
자신의 프로그램과 목적을 설명해야 한다.
소스 코드를 보라는 것은 마치 길을 알려달라고 했을 때.
"직접 가봐"라고 말하는 것처럼 불친절하다.
직접 가보는 것만큼 정확하지는 않지만
지도나 약도를 그려주거나 바쁘다면 방향이라도 지시해 줘야 한다.
그 사람이 찾아갈 수 있는 정도 만큼만 자세히 말이다.
종교에서는 이렇게 말하고 있다.
답글삭제"신은 이 세상을 만들었고, 우리는 세상을 매우 자세히 들여다 볼 수는 있지만, 왜 이렇게 만들었는 지는 도저히 알 수가 없다. 그것은 신의 영역이다."
프로그램도 마찬가지다.
개발자는 신과 같은 존재다. 그들은 프로그램을 만들었지만 신처럼 아무 주석도 달아주지 않는 다면 아무도 그것을 이해하지 못할 수도 있다.
@ 신은 우리에게 세상에 대한 주석으로 경전을 내려주었다. 개발자도 그들에게 문서를 내려주어야 한다. 신도(believers)가 없는 신은 죽은 신이고 사용자가 없는 프로그램은 죽은 프로그램이다.