
幾年前,在一堂 Scratch 課上,一位小男孩皺著眉頭,一直點著螢幕上的角色。貓咪不跳舞,也不說話。他困惑地問我:「老師,程式怎麼都不動?」
我走近一看,原來是少了一個「當綠旗被點擊」的積木。
我輕聲提醒他:「你覺得,可能漏了什麼呢?」
幾秒鐘後,他眼睛一亮,驚喜地喊道:「啊!我忘了加『開始』的積木啦!」
就在這一刻,他學到了一件重要的事:錯,不是結束,而是開始。
什麼是 Debug?為什麼它重要?
Debug(除錯)是寫程式時最常遇到的事。它不只是「修錯」,更是理解問題、培養思維的過程。
可惜的是,多數教科書很少教學生怎麼 Debug,許多人也低估了它的重要性。實際上,Debug 是寫程式的核心能力之一。
在 Scratch 裡,錯誤可能是角色沒反應、音效沒出現,或是條件判斷沒有正確觸發;在 Python 裡,可能只是漏了一個冒號 :
,或拼錯變數名稱,就會看到紅字錯誤訊息,如 SyntaxError
。
許多初學者看到錯誤會直覺認為:「我錯了」、「我不會」。
但我總是告訴學生:這不是你錯了,而是電腦在求救「我不懂你要我做什麼,請幫我!」
換個角度想,Debug 就不再是面對失敗,而是像一場解謎遊戲。
Debug 教會我的三件事
一、冷靜分析,比情緒反應更重要
初學 Python 的學生常會寫出類似這樣的程式碼:
if score > 90
print("Great job!")
看起來沒什麼問題對吧?但一執行就得到錯誤訊息:
SyntaxError: expected ':'
第一反應通常是:「為什麼又錯了?!明明很像對的啊!」但只要冷靜下來,看清楚訊息,就會發現:只是少了一個冒號。
if score > 90:
print("Great job!
Debug 教會我們,不要急著氣餒,而要學會聽懂錯誤在說什麼。
二、拆解問題,是解決的第一步
在 Scratch 中,如果角色完全不動,學生常會緊張地說:「程式怎麼不會動?」
但我們可以逐步檢查:
- 有沒有放「當綠旗被點擊」的起始積木?
- 是否指令執行太快,看不到變化?
- 是不是不小心選錯角色?
這種「分段檢查」的能力,正是 Debug 的本質。它不只能解決程式問題,也能應用在生活中處理複雜的狀況。
三、接受錯誤,是學會的開始
錯誤訊息並不可怕,它是一份說明書。 像這樣的 Python 錯誤:
NameError: name 'socre' is not defined
很多學生會看了就想放棄。但如果你學會了閱讀它,就會發現:
「啊!我把 score
打成了 socre
!」
從這一刻起,孩子開始不再害怕錯誤,而是學會從錯誤中找線索,解決它。
從 Debug 到人生:程式教我的心法
在一次夏令營裡,一位女同學因為忘記幫筆電充電,辛苦做了一週的 Scratch 專案當場消失,她難過得哭了出來。
我陪著她,一步步回想專案內容,重新做出來。她邊做邊笑著說:「原來做第二次這麼快,我都記得。我只是因為怕錯,所以不敢再開始。」
那一刻,我深受感動。
寫程式的錯誤可以被修正;但人生的錯誤呢?
也許無法「恢復原狀」,但我們可以選擇去「理解它、學習它、改進它」。
Debug 讓我學會:在錯誤中找方法,不在情緒裡停留。
結語|錯,是前進的一部分
無論是 Scratch 中漏掉一塊積木,還是 Python 裡拼錯變數名,這些錯誤看似微小,卻是每個學寫程式的人必經的修煉。
正是因為「錯」,我們才有機會真正學會怎麼對。
所以下次遇到錯誤時,不要急著放棄,也別急著問 ChatGPT。
先深呼吸,看看它在告訴你什麼。
Debug 的耐心,就是讓你變強的開始。