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