※ 引述《awaeleven (在植樹節植牙)》之銘言:
: ※ 引述《HsuGod (MIT 史丹佛)》之銘言:
: : 我在科技業上班
: : 工作內容是寫通訊系統
: : 最近遇到一個 bug
: : 解了好幾天都還沒解掉
: : 請問我該怎麼辦?
: bug解不掉有兩種,一種是不知道原因。
: 一種是知道程式錯在哪,但改不動。我想說的是第二種。
: 常常有很多程式,bug很難解的原因是因為程式寫得很差。
: 導致要東補西補。補到最後第一個補丁又跟第十個補丁相衝突。
: 於是又用第十一個work around來解。
: 但寫第十一個work around的程式的人有完全弄懂原本的程式跟那前十個補丁嗎?
: 應該也是沒弄懂,從此。程式就會一直發散。
: 遇過好幾次經驗。程式架構不好,先設法『儘量了解原作者是因為遇到什麼問題
: 才把程式寫得那麼複雜。』 然後提proposal給老闆,說明程式已積重難返。
: 然後大膽的砍掉重練。(從此這程式就是你的)
最常用的就是work around
當然 能砍是情況比較好的 操一點 但還可以解出來
最怕的是底層就有問題 又看不到底層的code
例如mcu/cpu提供者已經架構好平台 bug在平台中 你根本就不可能解
這種情形就只能work around
但work around最好要好心一點 例如再關鍵點插旗標
要註解說明這裡插這個旗是做什用的
不然後面的版本就會發散了