C程式設計精粹

2021-05-22 16:38:19 字數 404 閱讀 2251

規則或建議。每條準則都有例外

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...