7- 파이썬 디버깅 알기
카테고리 : Python
파이썬 기초
목표
1.버그를 만났을 때 당황하지 않게 됩니다.
2.버그를 해결하는 다양한 방법들을 알게 됩니다.
3.안전한 코드를 작성하는 법을 알게됩니다.
버그와 예외
버그(Bug)
코드가 원하는 대로 동작하지 않는 모든경우
- 프로그램이 는 (크래시가 발생하는) 경우
- 예상한 속도보다 훨씬 느리게 동작하는 경우
- 잘못된 결과를 출력하는 경우
- 코드 설계 상 일어나면 안되는 상황이 일어난 경우
예외(Exception)
일반적이지 않은 코드의 동작
- 사용자가 프로그램을 강제 종료하는 경우
- 분수의 분모에 0이 들어가는 경우
- 열고자 하는 파일이 존재하지 않는 경우
- 인터넷이 불안정한 경우
예외처리 (Exception handling)
- 파일을 불러오는 중에 인터넷이 끊겼다면?
처리되지 않은 예외는 버그를 만들 수 있음!
- 사진 업로드 중에 배터리가 없어 휴대폰이 꺼졌다면?
개발자는 사용자의 다양한 상황을 예측할 수 있어야 함
디버깅이란?
디버깅
사용/테스트 중 찾아낸 버그를 없애 나가는 과정
- 버그의 원인을 찾고
- 발생한 버그를 해결하고
- 비슷한 버그의 재발을 방지하는 것
버그의 원인 찾기
- 어떤 상황에서, 어떤 조작을 했을 때 일어나는가?
- 얼마나 잦은 빈도로 발생하는가?
- 에러 메시지가 뜬다면 내용이 무엇인가?
발생한 버그 해결하기
- 버그가 발생한 원인을 해결하려면 어떻게 해야 하는가?
- 새로운 코드가 일으킬 새로운 버그는 없는가?
버그 재발 방지하기
- 버그를 일으킨 코드가 다른 곳에서 사용되는가?
- 비슷한 설계를 이용한 다른 코드는 없는가?
- 고친 코드의 약점은 없는가?
- 코드를 지속적으로 검증할 방법은 무엇인가?