?
(零雨其蒙原創(chuàng) 轉(zhuǎn)載請注明)
2007
年
3
月
8
日星期四
?
?
第
20
章
將設計映射為代碼
?
準則
???
如果對象實現(xiàn)的是接口,那么使用接口而不是具體類來聲明變量。
?
?
實現(xiàn)順序
???
類的實現(xiàn)(理想情況下,還包括完整的單元測試)要按照從耦合度最低到耦合度最高的順序來完成。(
P269
)
?
?
將設計映射為代碼的實質(zhì)
我覺得這句話的實質(zhì)含義就是(
Larman
寫出了這句話,但是沒有明確這個含義)從
UML
類圖到類的定義以及從交互圖到方法體之間的存在轉(zhuǎn)換過程。
?
?
?
第
21
章
測試驅(qū)動開發(fā)和重構(gòu)
首先應該意識到單元測試的重要意義,它確實有很多優(yōu)點。然而在實現(xiàn)了功能之后,大家都不愿意再寫測試,特別是輸入幾個數(shù)是正確的后——然而有時并非如此,在分層結(jié)構(gòu)中,如果想測試領(lǐng)域?qū)拥拇a,難不成非要做個界面?然后不斷重啟
Tomcat
(如果是做
J2EE
開發(fā)并且使用
Tomcat
作為服務器),打開
IE
,這樣豈不是很浪費時間?(如果使用
J2EE
服務器結(jié)果更慘,使用
Netbeans
做一次調(diào)試,僅僅進行編譯、啟動服務器、布署等就要耗費
2
分多鐘,我的計算機是
1G
內(nèi)存呢)。因此使用
XUnit
進行單元測試就比較好了,直接運行
XUnit
,幾秒鐘就測試完了。而且單元測試是增量的,開發(fā)一個方法,就有一個單元測試(當然如果有必要的話,沒必要只為一個
getter
編寫單元測試),這樣避免把產(chǎn)品代碼都寫完后再進行無聊的測試代碼的編寫。
而測試驅(qū)動開發(fā),將單元測試放在前頭,這樣就有利于保證編寫單元測試了——當然真要懶得寫就沒辦法了。
Larman
總結(jié)了幾點好處,不再評述。
?
TDD
的優(yōu)點:
l????????
能夠保證編寫單元測試
。
l????????
使程序員獲得滿足感而更始終如一的堅持編寫測試
l????????
有助于澄清接口和行為的細節(jié)
l????????
可證明、可再現(xiàn)、自動化驗證
l????????
改變事物的信心
?
第
22
章
UML
工具與
UML
藍圖
尋找支持雙向工程、生成序列圖、與
IDE
結(jié)合的
UML CASE