Thursday, July 27, 2006

Code Complete

디버깅에 관한 악마의 지침

* 추측으로써 에러를 찾는다.

* 프로그램을 이해하기 위해서 노력하려고 시간을 낭비하지 않는다

* 가장 명백히 수정함으로써 에러를 고친다

* 미신에 의한 디버깅 - 컴파일러버그, 에디터의 버그 등을 의심하는 것



디버깅의 과학적인 방법

* 반복적인 실험을 통해 자료를 모은다

* 관련된 자료들을 가능한 한 많이 설명할 수 있는 가설을 세운다

* 가설을 증명하거나 부정할 수 있는 실험을 계획한다

* 가설을 증명하거나 부정한다

* 필요한 만큼 반복한다



디버깅 과정에서 고려할 점

* 에러를 안정되게 한다

* 에러의 원인을 찾아낸다

* 에러를 수정한다

* 수정한 것을 테스트한다

* 비슷한 에러를 찾는다



에러를 찾는데 도움이 되는 팁

* 가설을 만드는데 유용한 모든 자료를 이용하라

* 에러를 만드는 테스트 케이스를 개선하라

* 여러가지 다른 방법으로 에러를 재생산하라

* 더 많은 가설을 만들기 위해 더 많은 자료를 만들어라

* 부정 테스트의 결과를 사용하라

* 가능한 가설들에 대한 많은 영감을 떠올려라

* 코드의 의심스러운 영역을 좁혀라

* 전에 에러를 발생시킨 적이 있는 루틴에 대하여 의심하라

* 최근에 변경된 코드를 검사하라

* 코드의 의심스러운 부분을 확대하라

* 점진적으로 통합하라

* 맹목적인 테스트법을 사용하라

* 빠르지만 체계적이지 못한 디버깅에 허용할 최대 시간을 설정하라

* 일반적으로 흔한 에러에 대해 검사하라

* 그 문제에 관해 다른 누군가에게 말하라

* 문제로부터 떨어져서 휴식을 취하라

No comments :