20175314 實驗三 敏捷開發與XP實踐
20175314 實驗二 Java面向對象程序設計
一、實驗內容
- XP基礎
- XP核心實踐
- 相關工具
二、實驗步驟
(一)代碼格式化
創建“175314.exp3”項目,在該項目下創建CodeStandard.java
,並輸入代碼:
public class CodeStandard { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(); buffer.append('S'); buffer.append("tringBuffer"); System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); System.out.println(buffer.indexOf("tring")); System.out.println("buffer = " + buffer.toString()); if(buffer.capacity()<20) buffer.append("1234567"); for(int i=0; i<buffer.length();i++) System.out.println(buffer.charAt(i)); } }
打開Settings
->Plugins
->Browse repositories
,在搜索框輸入alibaba
即可看到Alibaba Java Code Guidelines
插件,點擊Install
進行安裝
安裝後右鍵點擊類名,再點擊“編碼規約掃描”
- 發現代碼中不規範的地方後進行糾正:
打開Code
->Reformate Code
,格式化代碼:
我認為最好用的工具是Reformate Code
,可以快速規範代碼格式,方便觀察及編寫,還有就是Override Methods
,提供了Java.lang
包中的一些類的方法重寫
(二)邀請搭檔加入碼雲項目,對搭檔的代碼進行Junit測試
在我的碼雲中創建Teamwork
項目,邀請自己的搭檔20175316盛茂淞成為“開發者”
引入搭檔在實驗二中的Complex代碼,加入多個Junit測試用例並編譯:
(三)重構的練習
(四)Java密碼學算法的學習
三、遇到的問題
- 一開始找不到junit工具包,後來通過在網上查找到許多不同的方法,最終選擇了下面這種方法並成功:
點擊 File -> Project Structure(快捷鍵 Ctrl + Alt + Shift + s),點擊Project Structure界面左側的“Libraries”,點擊右邊 “+”號,選擇第一個選項“Java”,找到IDEA的根目錄中的lib選擇junit.jar,點“OK”,jar包添加成功,如圖所示:
- 遵循實驗二 Java面向對象程序設計中百分制轉五分制的步驟測試正常情況異常情況和邊界情況時,根據客觀事實,對低於0分的情況轉成“錯誤”,添加100分的情況到小於100分的情況裏成為“成績在90與100之間(包含100)轉成‘優秀’”條件改為
else if (grade <= 100) return "優秀";
- 在用WhiteStarUML繪制UML類圖時不知道怎麽添加空心箭頭的線。
四、UML類圖
測試用例的擴充
四、感想與收獲
經過本次實驗內容很多多,相應的收獲也多。
首先,較為熟練地掌握了Junit的用法。這是本周最大的一個收獲,因為通過單元測試,能夠降低程序出錯概率、提高編程效率。通過實驗二,我也更能理解“高內聚低耦合”,高內聚提供了更好的可維護性和可復用性,低耦合可以滿足一般性的需求。
其次是本周大致學會了如何使用WhiteStarUML繪制UML圖,不同於之前用Word的插入圖形功能,這是一個比較方便但不容易上手的工具,畫出來的UML圖看上去有很強的專業性和邏輯性,這個軟件還有其他實用的功能比如繪制用例圖,期待以後能夠熟練掌握這個軟件的所有功能,但在本次實驗中我最終選擇使用WPS的流程圖中繪制UML類圖功能,這是目前我所知道的最方便的工具而且繪制圖簡潔明了、美觀大方,所以我可能會在後續學習中繼續選擇這一方式。
五、碼雲鏈接
六、Personal Software Process時間
步驟 | 耗時 | 百分比 |
---|---|---|
需求分析 | 20 | 9% |
設計 | 40 | 18% |
代碼實現 | 100 | 45% |
測試 | 30 | 14% |
分析總結 | 30 | 14% |
七、參考資料
20175314 實驗三 敏捷開發與XP實踐