디버거랑 결별하세요

1 min read

assertTrue()의 Turn off your step-thru debugger를 보다가 어딘가 옮겨놓고 싶어서, 옮겨봅니다. 

상황 

나는 디버거 없이는 살 수 없는 초보 프로그래머. 내가 짠 코드에서 버그가 생겼다. 사수한테 도움을 요청했다. 상황을 설명하고, 해볼 수 있는 거는 다 해봤다고 말했다. 그러자..

 

대화

사수: 나는 디버거로부터 떨어져있으려고 노력하지.  디버거는 목발이야. 그거 없이도 너는 잘 걸을 수 있지.  만약 니가 디버거 쓰는 습관을 들인다면, 너는 게을러질꺼야. 네 머리속 어떤 부분은 활동을 멈출테지. 디버거가 네가 만든 버그를 찾아줄꺼라고 생각할테니까. 하지만 현실에선 말이야, 니가 버그를 만들었다면, 니가 찾아야만 한단다. 

초보 프로그래머: 정말 그지같은 버그가 생겼을 땐 어떻게 하시는데요? 

사수: 버그가 어디있는지. 장비가 내게 말하도록 하지.  

그렇게... 

그 프로그래머는 디버거 쓰기를 그만두고, 프로그래밍 스킬이 빠르게 발전했다는 아름다운 이야기. 

여기서 나온 디버거는 step-thru 디버거를 말함. 

Comments

6 thoughts shared

01

세라비

클러치가 뭔가요?

02
R

rath

목발 정도로 해봐야겠네요. 본문 수정했습니다.

03
X

xhoto

좋은데 ㅋㅋㅋ 아 자야되는데 잠 안온다 -_- 언제 얼굴 한번 봐야될터인데...

04
R

rath

헐 2시, 난 요새 아침 5시쯤 자고 오후에 일어나는 생활 중임. ㅋㅋ

05
H

Heart

디버거랑 결별하려면 코드를 논리적으로 파악하고 있어야겠죠. 사실 디버깅에 익숙해지면 논리적으로 짜기 전에 '디버거 있으니까 이리해보고 안되면 저리해보지 뭐...' 라고 생각해버릴때가 많은 것 같아요. 그걸 이겨내야겠죠.

좋은글 잘 읽었습니다.

아참... 마지막 사수의 말의 의미를 잘 모르겠는데... crash report 의 의미인가요? logging 의 의미인가요? 아니면 둘 다이거나 둘 다 아닌가요?

06
R

rath

@Heart crash report 보다는 logging에 가깝지만 모두 포함된다고 생각하셔도 무난할 듯 합니다.

Continue Reading

Discover more thoughts and insights