API의 문서 작성은 꼼꼼하게

문서는 꼼꼼하게

일반적으로 문서화와 친한 개발자는 거의 없습니다. 그러나 문서화는 생각보다 중요하며 API의 문서화는 특히 더 중요합니다. API 문서는 정상적인 동작 이상으로 비정상적인 동작에 대해서 자세하게 기술하는 것이 매우 중요합니다. 프로그램에서 오류가 발생했을 때 API의 버그가 원인인지 아니면 단순히 API의 사용법을 제대로 따르지 않았기 때문인지 그렇지 않으면 API와 관계없이 프로그램의 문제인지를 결정하기 위해서는 API에서 충분한 정보를 제공해야 하는데, API의 문서가 이러한 정보를 제공하기 위한 거의 유일한 수단이기 때문입니다.

API의 문서가 API에 대한 충분한 정보를 제공하면, 설명 API에 버그가 있어 개발자가 의도한 대로 API가 동작하지 않더라도 필요한 경우 버그를 회피할 수 있는 코드를 작성할 수도 있기 때문이며, API의 문서가 중요한 가장 큰 이유는 API의 사용자가 언제 여러분 자신이 될지 모르기 때문입니다. 그렇다면 모든 개발자들이 API의 문서화를 꼼꼼하게 함으로써 모든 개발자들이 공평하게 행복해지는 것이 좋지 않을까요? 심지어 문서화로 인한 부담으로 당장 여러분 자신은 덜 행복할지는 몰라도 여러분으로 인해 여러분의 팀이 행복해진다면 언젠가 다른 형태로 여러분 자신이 충분히 행복해 질 수도 있습니다.

사용법 숙지는 확실하게

API는 바르게 사용하기는 쉽지만 잘못 사용하기는 어렵게 작성하라는 말이 있습니다만(Effective C++), 그 이전에 여러분은 API의 사용법을 정확하게 숙지해야 합니다. API의 문서가 잘 정리되어 있다면 좋겠지만 그렇지 않더라도 제공되는 문서의 범위 내에서 문서의 내용을 충분히 꼼꼼하게 검토해야 합니다. 만일 API가 프로그램과 포인터를 사용해서 데이터를 주고 받는 경우라면 더욱 조심해야 합니다.

프로그램의 오류 중에서 가장 골치 아픈 것은 메모리로 인한 오류입니다. 메모리를 잘 못 건드려서 발생한 오류는 오류의 원인에 해당하는 위치와 그 발생 시간이나 위치가 전혀 다르기 때문에 경험이 많은 노련한 개발자라고 하더라도 오류의 원인을 찾기가 쉽지만은 않습니다. 단순히(그렇다고 정말로 단순한 실수는 아닙니다) API에서 요구하는 포인터의 타입을 잘 못 사용한 경우라도 이는 심각한 프로그램 오류를 야기할 수 있으면 그 결과를 전혀 예측할 수 없습니다.

프로그램의 오류를 찾기 위해 몇 시간 혹은 며칠을 소모한 끝에 아주 사소한 오류를 범했다는 사실을 발견하지만, 여러분이 API의 문서나 예제를 꼼꼼하게 살펴보았다면 충분히 피할 수 있었던 문제였을 수도 있습니다.

Comments are closed.

Website Built by WordPress.com.

Up ↑