今天看了看注重實效的偏執這部分
按合約設計
dbc關注用文件記載並約定軟體的權利與責任,以確保程式的正確性。要注意呼叫某個函式時的前條件,後條件和類不變項。所以例程和任何潛在的呼叫者之間的合約可理解為:如果呼叫這滿足了例程的所有前條件,例程應該在保證其完成時,所有的後條件和類不變項將為真。
死程式不說謊
當程式中某件被認為不可能發生的事情已經發生時,就需要盡可能早的終止它。
斷言式程式設計
不要覺得你以為的就是你以為的,相信一些事情絕不會發生,想要確定能不能發生就要用斷言確保它會不會發生,不要用斷言代替真正的錯誤處理,斷言檢查的是決不應該發生的事情,讓斷言開著是一種很好的方式來確定它會不會發生。
何時使用異常
乙個程式很有可能出現意想不到的異常,將異常用於異常的問題,通過異常處理,例程和他們的呼叫者被呼叫者更緊密的耦合在一起
怎樣配平資源
大多數時候,資源使用遵循一種可**的模式,分配,使用,解除其分配。對於一次不需要不只乙個資源的例程,可以對資源分配的基本模式進行擴充套件的:以與資源分配的次序相反的次序解除資源的分配;在**的不同地方分配同一組資源時,總以相同的次序分配他們,降低死鎖的可能性。
程式設計師修煉之道 從小工到專家
在專案開始之前 需求需要挖掘,而不僅僅是收集。找出使用者為何要做特定事情的原因,而不是他們目前做這件事情的方式。建立需求文件 把形式化的模板做備忘錄 好的需求文件會保持抽象 專案範圍的增大需要被記錄和可追溯,以及可評價 通過統計資訊 需求的收集和設計實現不是單向的線性關係,而是雙向關係。它們是 交付...
程式設計師修煉之道 從小工到專家
基本工具 構建自己的工具庫。使用原始碼控制。除錯bug 找到問題根源 可以快速 復現 bug。跟蹤。向別人解釋程式以找到問題所在。找bug範圍 先自己 確定無誤再找類庫或系統問題。不要固執的認為自己的 沒問題。不要假設,要驗證。注重實效的偏執 放棄寫出完美軟體的偏執。進行防禦性程式設計。合約。規定 ...
程式設計師修煉之道 從小工到專家
這本書的適用範圍可以從初學者到有經驗的程式設計師再到專案經理,作為一本偏向理論與思想的書,書中不可避免有些假大空的地方,再加上作者寫完本書的時間還在1999年,書中的很多方法與標準放在今天也已不再實用。但這些都不能掩蓋它的優秀之處,作者曾在本書完成十年後說過,如果這本書是放在現在編寫,1999年的那...