編程創藝,碁峯出版,蔡學鏞 譯
註:從圖書館借這本書來看,只細讀第一個part,也就是這邊筆記的ch1~ch6。後面的都是更進階、適合更專業的人,所以就只有大概瀏覽過去。
Ch 1 善於防守
- 必須設想最壞的狀況,不能一廂情願覺得「應該不會...」。
- 防禦性程式設計,是提前的防衛,而不是:檢查、測試、除錯。
防禦性程式設計技巧
- 使用好的風格和合理的設計 - 一定要先規劃
- 不要倉促地寫程式。欲速則不達。
- 不要相信任何人:始終保持懷疑,包括懷疑自己。
- 要清晰易於維護:過於艱澀複雜會讓之後難以維護,寧可多占用幾行把邏輯寫清楚。
- 不要讓別人做他們不該做的修補
- OOP封裝
- 盡量縮小變數的範圍
- 不要忽略compiler的警告
- 使用其他靜態分析工具
- 使用安全的資料結構
- 檢查所有的return
- 審慎處理記憶體和其他資源:該釋放就要釋放
- 盡可能推遲變數的宣告:使宣告更接近第一次使用到此變數的地方。
- 在宣告變數時就初始化。
- 審慎強制轉換型別
- Assert (斷言??)