글
디버깅은 오류의 근본적인 원인을 규명하여 수정하는 과정으로 초기에 오류를 감지하는 과정인 테스트와는 반대되는 개념이다.
디버깅의 이점
- 여러분이 작업중인 프로그램에 대해서 배울수 있다
- 자신이 저지른 실수의 종류에 대해서 배울수 있다
- 자신의 코드를 읽어야만 하는 사람의 관점에서 자신이 작성한 코드의 품질에 대해서 배울수 있다
- 자신이 문제를 해결하는 방법을 배울수 있다.
- 스스로 결함을 수정하는 방법을 배울수 있다
비효율적인 접근 방법
- 추측으로써 결함을 찾는다.
- 문제를 이해하려고 애쓰느라 시간을 낭비하지 않는다
- 가장 명백한 수정으로 오류를 수정한다 - 오류가 나는 부분과 상관없는 곳을 분석하는데 신경을 쓰지 않는다
결함을 찾는데 도움이 되는 팁
- 가설을 세우기 위해서 사용할수 있는 모든 데이터를 사용하라
- 오류를 만드는 테스트 케이스를 개선하라
- 단위 테스트에서 코드를 다루어라
- 도구를 사용하라 - 디버깅 툴.
- 여러가지 다양한 방법으로 오류를 재생산하라
- 보다 많은 가설들을 세우기 위해서 보다 많은 데이터를 만들어라
- 부정적인 테스트의 결과를 사용하라
- 가능한 가설에 대한 브레인 스토밍을 해라
- 연습장을 준비해서 시도해볼 목록을 만들어라
- 의심스러운 코드 영역을 좁혀라
- 이전에 결함이 있었던 클래스와 루틴을 의심해라
- 최근에 변경한 코드를 검사하라
- 의심스로운 코드 영역을 확장하라
- 점진적으로 통합하라
- 일반적인 결함을 검사한다
- 프로그램에 대해서 다른사람과 이야기를 나누어라
- 문제로부터 떨어져 휴식을 취하라
이 글은 스프링노트에서 작성되었습니다.
RECENT COMMENT