規則或建議。每條準則都有例外
1,假想的編譯程式
使用編譯程式所有的可選警告設施
使用lint來查出編譯程式漏掉的錯誤
如果有單元測試,就進行單元測試
2,自己設計並使用斷言
既要維護程式的交付版本,又要維護程式的除錯版本
要使用斷言對函式引數進行確認
要從程式中刪去無定義的特性,或者在程式中使用斷言來檢查出無定義特性的非法使用
不要浪費別人的時間-詳細說明不清楚的斷言
消除所做的隱式假定,或者利用斷言檢查其正確性
利用斷言來檢查不可能發生的情況
在進行防錯性程式設計時,不要隱瞞錯誤
要利用不同的演算法對程式的結果進行確認
不要等待錯誤發生,要使用初始檢查程式
3,為子系統設防
讀《微軟C程式設計精粹》的一些收穫
要使用斷言對函式引數進行確認 為了不必要的開銷,可以僅使用斷言,而不要return 網上有人寫的strcpy 做了太多的出錯處理,導致效能低下,其實沒必要,用assert就行了,這樣在debug模式下能捕捉錯誤,release下又不影響效能。書上提供的memcpy的範例 void memcpy vo...
設計模式精粹
設計模式是軟體開發領域的孫子兵法,真正理解 精通 熟記設計模式,在適當的場合採用適當的設計模式來設計和編碼,將極大提高 的健壯性 可擴充套件性 可維護性,是高手與菜鳥分水嶺的顯著標誌之一。每乙個軟體設計和開發人員都必須掌握設計模式。設計模式種類較多,即使深刻理解嫻熟運用,時間久了也容易遺忘,需要時常...
js語言精粹
1 typeof null object 所以不能通過typeof object 判斷為物件 a 判斷為null的,直接 null b 判斷物件 typeof object 因為null為假 2 prototype和 proto 的概念 prototype是函式的乙個屬性 每個函式都有乙個proto...