예외를 던지는 것은 매우 쉽습니다. 그에 반해서 예외를 받아서 처리하기 위해서는 많은 고민을 해야 합니다. 그래서 예외를 던지고 받는 구조가 명확하지 않다면 함부로 예외를 던져서는 안됩니다. 이 글에서는 클래스 생성자에서 예외가 발생했을 때의 동작 흐름을 명확하게 이해함으로써 던져진 예외를 잘 처리하기 위한 방법 new 연산자는 예외를 던집니다 C 언어를 배우고 C++ 프로그래밍 하는 개발자가 흔히... Continue Reading →
함수 객체를 이용한 제네릭 알고리즘 구현
제네릭 알고리즘에서 함수 객체 구현 컨테이너를 다룰 때는 제너릭 알고리즘을 사용하는 것이 컨테이너가 변경되었을 때 코드의 수정의 충격을 완화시킬 수 있고, 반복되는 코드를 줄일 수 있다고 했습니다. 제네릭 알고리즘은 컨테이너의 iterator를 인자로 하는 템플릿 함수로 작성되는데 제네릭 알고리즘 내부에서 함수 객체를 구현하는 경우 한 가지 주의해야 할 점이 있습니다. 좌표를 담고 있는 Point라는 객체의 컨테이너가... Continue Reading →
API의 문서 작성은 꼼꼼하게
문서는 꼼꼼하게 일반적으로 문서화와 친한 개발자는 거의 없습니다. 그러나 문서화는 생각보다 중요하며 API의 문서화는 특히 더 중요합니다. API 문서는 정상적인 동작 이상으로 비정상적인 동작에 대해서 자세하게 기술하는 것이 매우 중요합니다. 프로그램에서 오류가 발생했을 때 API의 버그가 원인인지 아니면 단순히 API의 사용법을 제대로 따르지 않았기 때문인지 그렇지 않으면 API와 관계없이 프로그램의 문제인지를 결정하기 위해서는 API에서 충분한... Continue Reading →