" 등 "이라는 제목 아래에는 쉽게 50 % 이상의 시간이 걸리는 것이 있습니다.
디버깅하는 방법을 배웁니다.
이것은 과학적 방법을 배우는 것을 의미합니다 . 나는 그것을 정말로 배우는 것을 의미 합니다. 그리고 잔인한 자기 정직으로 그것을 적용하십시오 . 자신이 알고있는 사실, 사실이 아닌 사실 및 모르는 것을 정확하게 진술하는 방법을 배웁니다 . 당신이 엉성 잘못된 카테고리에 항목을 할당 할 때마다, 당신은 단지 당신의 인생을했습니다 많이 힘들어.
"알다"대신 "생각한다"라고 말하는 법을 배우십시오. 당신이 무언가를 "생각"할 때 "알다"라고 말하고, 그것을 증명할 수 있습니다!
많은 버그는 사소한 것이지만 코드가 무엇인지 알아야한다는 것을 알기 어렵 기 때문에보기가 어려울 수 있습니다. 설명 할 친구를 찾으십시오. 그들에게 "전문가 바보"를 요구하십시오 : 당신의 코드를 모르지만 BS를 지나칠 수없는 사람. 그들에게 묘사하는 도중에 갑자기 멈추고 말하기를, "그래서 ... ... ...를 볼 수 있습니다 ... sh * t. 감사합니다."라고 놀라지 마십시오.
사소한 버그에는 기술이 필요합니다. 알래스카의 Wolf Fence는 타이밍과 관련이없는 대부분의 버그를 빠르게 조명 할 수있는 고전입니다. 알래스카 어딘가에 늑대가있다. 상태를 반으로 자르는 울타리를 만드십시오. 늑대는 어느쪽에 있습니까? 그 쪽을 반으로 자릅니다. 오히려 헹구고 반복하십시오. 코드에서 잘 선택된 곳에서이 작업을 20 번 수행하면 버그 (늑대)가 1/1048576이 될 수있는 영역이 줄어 듭니다. 늑대를 죽여
팁 : 신체적, 정신적 또는 다른 종류의 손파 를 찾으 십시오. 귀하 (또는 동료)가 코드의 일부에 대한주의를 기울이거나 전환하거나 최소화하는 즉시 완전히 열렬하게 진행 됩니다. 버그를 아는 영역은있을 수 없기 때문에 d * mn 항목을 찾는 데 몇 시간 / 일을 보냈지 만 여전히 찾을 수는 없지만 버그의 가장 높은 확률 위치입니다. 아무도 'bye'를 얻지 못하고 아무도 (머신, OS, 컴파일러 또는 당신을 포함하여 ) 어떤 종류의 "적절한 존중"도 얻지 못합니다. 버그가 있습니다. 기간. 문장의 끝. 이제 d * mn을 죽이십시오.
나는 그 자체로 주제로 디버깅을 가르치는 학교가 없다는 것을 알고 있습니다. IMNSHO, 이것은 (대학 / 교수가) 당신에게 프로그래머가되는 것을 가르치지 않고, 대신, 당신이 그들처럼 되라고 가르치고 있다는 가장 눈에 띄는 증거 일 수 있습니다. 거친? 혹시. 진실? 자신의 마음을 구성하십시오. 이제 그것을 증명하십시오.