應該就是開發一個程式會注重的點了
在學期間,課堂上給的功課,甚至是期末Project
都有個相對短的deadline,以及清楚的功能和分數
寫出來的程式只要完成所指定的功能就可以得到滿分了
所以我求學期間寫的程式只要注意功能有沒有完成就好了
測試的環境也都是固定的
但工作後由於程式演變成了產品
產品假如出錯,所造成的影響就比較大
尤其是開發金融相關軟體影響更大
像是華爾街交易員,假如他用的軟體出錯了會造成的影響都是幾百萬美金
所以正確處理edge case就是很重要的事情
基本的checking是必要的
例如: 在method 或 function開頭,對input做檢查
一個小小的檢查就能大幅降低程式出錯的機率
也對debug有很大的幫助 (因為你能肯定這個method的input不可能是null之類)
接下來就是檢查到異常input時丟出正確的exception
也會讓你的code更好用
假如你開發API要給別人用
有正確的Error訊息能幫助其他人不用看source code就能知道錯誤在哪
但值得注意的是在物件導向世界中
常常有很大一串的function call chain
錯誤能傳遞到哪一層就需要好好設計了
沒有留言:
張貼留言