요구 사항에 맞춰 클래스와 함수 선언까지 준비가 마무리되면 구현 단계로 넘어간다.
구현 시, 발생할 수 있는 문제에는
- 변수를 너무 앞서 정의하여 수행 성능이 떨어지는 경우
- 캐스트를 남용함에 따라 느려지고 손보기 힘든 미묘한 버그에 치명타를 입을 코드 발생
- 객체 내부에 대한 핸들을 반환하게 하여 캡슐화가 깨지는 경우
- 객체 내부의 유효하지 않은 핸들이 남아있는 경우
- 예외 발생 시 생기는 일을 모르고 지나치는 경우 자원이 누출되고 자료 구조가 망가지는 경우
- 너무 많은 인라인 함수로 인해 터질 듯이 부푼 코드 발생
- 코드의 결합도가 너무 높아 빌드 시간이 늘어나는 경우
등이 존재한다. 이번 장에서는 구현 시 발생할 수 있는 문제를 어떻게 조심하면 좋을 지에 대한 내용을 다룰 예정이다.
- 항목26 : 변수 정의는 늦출 수 있을 데까지 늦추는 근성을 발휘하자
- 항목27 : 캐스팅은 절약, 또 절약! 잊지 말자
- 항목28 : 내부에서 사용하는 객체에 대한 “핸들”을 반환하는 코드는 되도록 피하자
- 항목29 : 예외 안전성이 확보되는 그날 위해 싸우고 또 싸우자!
- 항목30 : 인라인 함수는 미주알고주알 따져서 이해해 두자
- 항목31 : 파일 사이의 컴파일 의존성을 최대로 줄이자