語法書 / AA 競程語法書 下冊 / 第十五單元 / 本單元常犯錯誤總覽

本單元常犯錯誤總覽

本單元的「常犯錯誤」比較特別——程式碼的慣犯清單已經整理在 15.3,這裡收的是查錯行為本身的反模式:

# 反模式 症狀/後果 正確做法
1 沒找到會錯的測資就憑感覺改程式碼重交 吃罰時、浪費提交次數,還可能把對的改壞 先找到會錯的測資,讓證據指路(15.1
2 同一份程式碼一交再交,期待結果不同 浪費提交次數;就算貼著時限僥倖翻成 AC,那是運氣不是修正 程式沒改,就沒有理由期待結果改變;回到查錯流程
3 印了一堆變數,卻沒寫下對照用的預期值 盯著一螢幕數字,看不出哪個錯 每個印出的值先手算預期,逐一對照(15.5
4 範例測資過了就提交 邊界情況 WA 提交前掃一遍極端測資清單(15.6
5 查錯輸出用 cout 印、或忘了清就提交 混進答案變 WA;量大還會 TLE cerr+提交前清理,或 #ifdef LOCAL15.5
6 改對了,但不知道為什麼對 同一顆雷下次原地再踩 修完回頭解釋:原本的 bug 如何造出那個錯輸出(15.1 步驟 5)