2011年7月29日 星期五

97 Things Every Programmer Should Know: Collective Wisdom from the Experts

程序員應該知道的97件事


Bear在這裡買的
amazon的參考
-----------------------------------------------------------
作者:亨尼|譯者:李軍|校注:呂駿
出版社:電子工業
ISBN:9787121117565
出版日期:2010/09/01
頁數:229
人民幣:RMB 45 元
-----------------------------------------------------------



P.42
區分業務異常和技術異常

如果你試著親自解決這些由你引發的困境,那就錯了。我們要讓異常逐級傳遞到最上面的架構層,然後,使用通用異常處理機制來處理,確保系統處於安全狀態,例如回滾事務、記錄到日誌、發出管理警報,並將相關信息(妥善地)報告給用戶。

這里有一種略為不同的情形是當你處在一個庫文件里時,某個調用者破壞了方法的調用契約,例如傳遞過來一個完全不一致的參數,或者所依賴的對象沒有設置正確。這與在大小為17的數組訪問第83個元素是一樣的。調用者應該先檢查一下參數,如果沒做到這一點,就是客戶端程序員的錯誤。正確的響應方式是拋出一個技術異常。

P.94
知道你下次提交的內容

知道你下次所要提交的東西。如果你無法完成,就丟棄掉更改,然後按照你已有的理解,定義出一項你確信能完成的新任務。

P.147
抗拒單子模式的誘惑

因此,必須把你對單子模式的使用限制在那些確定只要實例化一次的類裡面。不要從任何代碼那裡來訪問單子的全局訪問點。可以代替的是,能夠直接訪問單子的應該只可以來自於那些明確定義的地方,以及通過接口分發到其他代碼的地方。通過這種辦法,其他代碼就不會感知到,因此,也不會依賴於到底是單子還是其他類實現了這個接口,這也打破了會阻止單元測試和降低可維護性的依賴關係。