ThePragmaticProgrammer에 등장하는 ComputerProgramming교훈중 하나.
완벽한 프로그램을 만들수는 없다. 하지만, 오류를 쉽게 찾아낼 수 있는, 또한 다시 오류를 범하지 않을 수 있게끔 만들어내는 방법이 있다.
Debugging도 일종의 HowToSolveIt이다. TheCatAteMySourceCode했다고 하지말고, 문제를 풀라.
- 대하는 마음가짐이 중요하다. 당황하지 말고 차근차근 해결한다. Beware of myopia when debugging.
버그없는 깨끗한 상태에서 출발하며, 모든 가능성들을 점검하며, 모든걸 체크하는 UnitTest를 만든다.
- 디버깅전략
- Visualize your data (printf or debugger)
- Tracing
Rubber Ducking : 누군가에게 설명하기 (->) 새로운관점의 시각획득
Dave라는 프로그래머가 고무오리인형을 모니터옆에 놓고 항상 대화했다는데서 유래
- Process of Elimination : "select" isn't broken
- 만일 디버깅과정중에 이런.. 이게 안되다니 하고 놀란다면~
- Don't assume it - Prove it
- Beyond merely fixing it, you need to determine why this failure wasn't caught earlier
- If it took a long time to fix this but, ask yourself why.
관련정보