函數是軟件產品的細胞。如何寫好一個命名規範,功能清晰,魯棒性強的函數,是一個合格程序員的基本素養。
條例1: 一定要對非法輸入做錯誤處理。
寫函數最忌諱的就是不對非法輸入做錯誤處理。這樣的函數放到一個龐大複雜的系統中將是災難。不是宕機就是出core或者各種錯誤的結果。曾經看過一篇文章,說是cpu感觸的1納秒,就相當於人類感觸的1秒。一次宕機的時間,對於cpu來說,相當於一個文明的終結。
if判斷,assert假設,都是很好的校驗手段。
條例2:對各種邊界情況做自測
自測花的時間,比如不自測導致返工的時間,要少的多。編程珠璣 裏面就提到了腳手架測試方法。
條例3:明確輸入和輸出的映射關係
函數的功能儘可能單一,這樣才能保證函數的返回值簡單可靠。system函數我覺得就是一個反例,因爲你很難通過這個函數的返回值做進一步的錯誤處理。