六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

JUnit實(shí)施--3,4,5

[摘要]3.Design by Contract(這句話我沒法翻譯)Design by Contract本是Bertrand Meyer(Eiffel語言的創(chuàng)始人)開發(fā)的一種設(shè)計(jì)技術(shù)。我發(fā)現(xiàn)在JUnit中使...
3.Design by Contract(這句話我沒法翻譯)

Design by Contract本是Bertrand Meyer(Eiffel語言的創(chuàng)始人)開發(fā)的一種設(shè)計(jì)技術(shù)。我發(fā)現(xiàn)在JUnit中使用Design by Contract會(huì)帶來意想不到的效果。Design by Contract的核心是斷言(assersion)。斷言是一個(gè)布爾語句,該語句不能為假,如果為假,則表明出現(xiàn)了一個(gè)bug。Design by Contract使用三種斷言:前置條件(pre-conditions)、后置條件(post-conditions)和不變式(invariants)這里不打算詳細(xì)討論Design by Contract的細(xì)節(jié),而是希望其在測試中能發(fā)揮其作用。

前置條件在執(zhí)行測試之前可以用于判斷是否允許進(jìn)入測試,即進(jìn)入測試的條件。如 expectedWheels > 0, myCar != null。后置條件用于在測試執(zhí)行后判斷測試的結(jié)果是否正確。如 expectedWheels==myCar.getWheels()。而不變式在判斷交易(Transaction)的一致性(consistency)方面尤為有用。我希望JUnit可以將Design by Contract作為未來版本的一個(gè)增強(qiáng)。


4.Refactoring(這句話我依然沒法翻譯)

Refactoring本來與測試沒有直接的聯(lián)系,而是與軟件熵有關(guān),但既然我們說測試能解決軟件熵問題,我們也就必須說出解決之道。(僅僅進(jìn)行測試只能發(fā)現(xiàn)軟件熵,Refactoring則可解決軟件熵帶來的問題。)軟件熵引出了一個(gè)問題:是否需要重新設(shè)計(jì)整個(gè)軟件的結(jié)構(gòu)?理論上應(yīng)該如此,但現(xiàn)實(shí)不允許我們這么做。這或者是由于時(shí)間的原因,或者是由于費(fèi)用的原因。重新設(shè)計(jì)整個(gè)軟件的結(jié)構(gòu)會(huì)給我們帶來短期的痛苦。而不停地給軟件打補(bǔ)丁甚至是補(bǔ)丁的補(bǔ)丁則會(huì)給我們帶來長期的痛苦。(不管怎樣,我們總處于水深火熱之中)

Refactoring是一個(gè)術(shù)語,用于描述一種技術(shù),利用這種技術(shù)我們可以免于重構(gòu)整個(gè)軟件所帶來的短期痛苦。當(dāng)你refactor時(shí),你并不改變程序的功能,而是改變程序內(nèi)部的結(jié)構(gòu),使其更易理解和使用。如:該變一個(gè)方法的名字,將一個(gè)成員變量從一個(gè)類移到另一個(gè)類,將兩個(gè)類似方法抽象到父類中。所作的每一個(gè)步都很小,然而1-2個(gè)小時(shí)的Refactoring工作可以使你的程序結(jié)構(gòu)更適合目前的情況。Refactoring有一些規(guī)則:

1> 不要在加入新功能的同時(shí)refactor已有的代碼。在這兩者間要有一個(gè)清晰的界限。如每天早上1-2個(gè)小時(shí)的Refactoring,其余時(shí)間添加新的功能。

2> 在你開始Refactoring前,和Refactoring后都要保證測試能順利通過。否則Refactoring沒有任何意義。

3> 進(jìn)行小的Refactoring,大的就不是Refactoring了。如果你打算重構(gòu)整個(gè)軟件,就沒有必要Refactoring了。

只有在添加新功能和調(diào)試bug時(shí)才又必要Refactoring。不要等到交付軟件的最后關(guān)頭才Refactoring。那樣和打補(bǔ)丁的區(qū)別不大。Refactoring 用在回歸測試中也能顯示其威力。要明白,我不反對(duì)打補(bǔ)丁,但要記住打補(bǔ)丁是應(yīng)該最后使用的必殺絕招。(打補(bǔ)丁也需要很高的技術(shù),詳情參看微軟網(wǎng)站)

5.IDE對(duì)JUnit的支持


目前支持JUnit的Java IDE 包括

  • IDE



  • 標(biāo)簽:JUnit實(shí)施--3 4 5 
    主站蜘蛛池模板: 特黄色片 | 亚洲欧美网站 | 日韩精品一区二区三区中文在线 | 日本aa大片在线播放免费看 | 日本免费黄视频 | 手机看片午夜 | 亚洲最大看欧美片网站 | 色88888久久久久久影院 | 色天使久久综合给合久久97色 | 色狠狠色综合久久8狠狠色 色狠狠色综合吹潮 | 亚洲国产成人久久一区www | 青青网视频 | 一区二区三区在线播放视频 | 日韩视频在线观看 | 天天久 | 午夜影院黄色片 | 亚洲激情视频 | 青草下载 | 日本欧美午夜 | 亚洲视频在线观 | 性感美女视频免费网站午夜 | 天天操天天操天天操 | 在线综合色 | 污视频在线看 | 青青网视频 | 青青草免费公开视频 | 色第一页| 日日干夜夜拍 | 日本高清网 | 视频自拍网 | 青草视频污 | 自拍网视频 | 亚洲成a人片在线不卡 | 特黄大片aaaaa毛片 | 视频一区二区三区欧美日韩 | 特黄视频免费看 | 新香蕉视频在线 | 青草青视频在线观看 | 色综合久久综精品 | 亚洲国产欧美在线人成精品一区二区 | 天堂bt在线|