XP实验报告
實(shí)驗(yàn)名稱:敏捷開發(fā)與XP實(shí)踐
實(shí)驗(yàn)人員:20162309邢天岳(結(jié)對(duì)搭檔20162313苑洪銘)
實(shí)驗(yàn)日期:2017.5.5
實(shí)驗(yàn)內(nèi)容:1.在IDEA中使用工具(Code->Reformate Code)把下面代碼重新格式化,再研究一下Code菜單,找出一項(xiàng)讓自己感覺最好用的功能。提交截圖,加上自己學(xué)號(hào)水印。(此處注意要將Eclipse的內(nèi)容替換成IDEA)
2.在碼云上把自己的學(xué)習(xí)搭檔加入自己的項(xiàng)目中,確認(rèn)搭檔的項(xiàng)目加入自己后,下載搭檔實(shí)驗(yàn)二的Complex代碼,加入不少于三個(gè)JUnit單元測(cè)試用例,測(cè)試成功后git add .; git commit -m "自己學(xué)號(hào) 添加內(nèi)容";git push。
3.完成重構(gòu)內(nèi)容的練習(xí),下載搭檔的代碼,至少進(jìn)行三項(xiàng)重構(gòu),提交重構(gòu)后代碼的截圖,加上自己的學(xué)號(hào)水印。提交搭檔的碼云項(xiàng)目鏈接。(這里同樣要將Eclipse轉(zhuǎn)換成IDEA)
4.以結(jié)對(duì)的方式完成Java密碼學(xué)相關(guān)內(nèi)容的學(xué)習(xí),結(jié)合重構(gòu),git,代碼標(biāo)準(zhǔn)。
實(shí)驗(yàn)?zāi)康?#xff1a;以結(jié)對(duì)的方式對(duì)項(xiàng)目的開發(fā)進(jìn)行學(xué)習(xí),對(duì)上次實(shí)驗(yàn)所完成的Complex代碼進(jìn)行測(cè)試,與結(jié)對(duì)搭檔共同創(chuàng)建項(xiàng)目來學(xué)習(xí)教材上關(guān)于重構(gòu)環(huán)節(jié)的學(xué)習(xí),相互檢查結(jié)對(duì)伙伴的代碼,鞏固學(xué)習(xí)。Java密碼學(xué)的實(shí)驗(yàn)內(nèi)容是運(yùn)行博客上的密文代碼,通過運(yùn)行程序來學(xué)習(xí)代碼的加密方法。
實(shí)驗(yàn)具體步驟:
(一)敏捷開發(fā)與XP
?敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。
敏捷開發(fā)包括很多模式。其中,極限編程(eXtreme Programming,XP) 是一種全新而快捷的軟件開發(fā)方法。
?一項(xiàng)實(shí)踐在XP環(huán)境中成功使用的依據(jù)通過XP的法則呈現(xiàn),包括:快速反饋、假設(shè)簡(jiǎn)單性、遞增更改、提倡更改、優(yōu)質(zhì)工作。
XP軟件開發(fā)的基石是XP的活動(dòng),包括:編碼、測(cè)試、傾聽、設(shè)計(jì)。
項(xiàng)目成員用戶成功執(zhí)行XP活動(dòng)的技術(shù)通過XP實(shí)踐來呈現(xiàn),包括編程、團(tuán)隊(duì)、過程相關(guān)的12條實(shí)踐,我們關(guān)注其中的編碼標(biāo)準(zhǔn),結(jié)對(duì)編程,代碼集體所有,測(cè)試,重構(gòu)等實(shí)踐。上次實(shí)驗(yàn)已經(jīng)講過TDD,通過學(xué)習(xí)這些實(shí)踐,可以形成以測(cè)試為核心的開發(fā)流程。
敏捷可以作為一種做事的方式,掌握好的在以后的工作中也會(huì)受益無窮。
在實(shí)驗(yàn)1的過程中,需要在idea上運(yùn)行實(shí)驗(yàn)題目中所給的代碼,這個(gè)過程相對(duì)比較簡(jiǎn)單,運(yùn)行過程中有綠條出現(xiàn)就可以了。
實(shí)驗(yàn)2是對(duì)前一次實(shí)驗(yàn)程序的成果驗(yàn)收,Complex程序的產(chǎn)品代碼進(jìn)過檢查后,沒有邏輯錯(cuò)誤出現(xiàn),但測(cè)試代碼卻無法在idea上運(yùn)行(不是運(yùn)行錯(cuò)誤,是無法運(yùn)行),考慮到測(cè)試代碼和產(chǎn)品代碼是否存在出入,在咨詢王彪同學(xué)后,發(fā)現(xiàn)在測(cè)試代碼上,繼承語句extend的對(duì)象發(fā)生錯(cuò)誤,導(dǎo)致運(yùn)行異常,修改后可正常運(yùn)行
此處需要繼承的是TestCase類中的方法。
?重構(gòu)(Refactor),就是在不改變軟件外部行為的基礎(chǔ)上,改變軟件內(nèi)部的結(jié)構(gòu),使其更加易于閱讀、易于維護(hù)和易于變更。
?一個(gè)完整的重構(gòu)流程包括:
1.從版本控制系統(tǒng)代碼庫(kù)中Check out code
2.讀懂代碼(包括測(cè)試代碼)
3.發(fā)現(xiàn)bad smell
4.Refactoring
5.運(yùn)行所有的Unit Tests
6.往代碼庫(kù)中Check in code
重構(gòu)的內(nèi)容需要加入結(jié)對(duì)搭檔的項(xiàng)目,在idea中使用refactor直接操作就可以了。修改參數(shù)、加入新的東西都可以實(shí)現(xiàn)。
(三)java密碼學(xué)這個(gè)過程需要運(yùn)行博客中的代碼,在idea或是bash命令行中均可以完成,但在導(dǎo)入第二個(gè).dat文件時(shí)失敗,在馬軍同學(xué)的幫助下,將運(yùn)行的程序包括設(shè)計(jì)的類均用rm移動(dòng)到一起,再次運(yùn)行就可以了,密碼學(xué)的學(xué)習(xí)對(duì)我而言相對(duì)陌生,參考了老師的博客后再學(xué)習(xí)效果會(huì)相對(duì)好一些。
轉(zhuǎn)載于:https://www.cnblogs.com/Metwox/p/6853137.html
總結(jié)
- 上一篇: 结对编程 四则运算 第一周小结
- 下一篇: asp.net mvc cookie超时