20165301陳潭飛2017-2018-2 20165301 實驗三《Java面向對象程序設計》實驗報告

2017-2018-2 20165301 實驗三《Java面向對象程序設計》實驗報告

1、敏捷開發與XP實踐-1

實驗要求:
  • 在IDEA中使用工具(Code->Reformate Code)把下面代碼從新格式化,再研究一下Code菜單,找出一項讓本身感受最好用的功能。提交截圖,加上本身學號水印。
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));
}
}
實驗截圖
  • 在IDEA中點擊setting---Plugins---Brows Repositories,搜索alibabba並下載

  • 在項目上右擊選擇編碼規約掃描

  • 格式化以前

  • 格式化以後

  • 使用code->Reformat對齊後

2、敏捷開發與XP實踐-2

實驗要求
  • 在碼雲上把本身的學習搭檔加入本身的項目中,確認搭檔的項目加入本身後,下載搭檔實驗二的Complex代碼,加入很多於三個JUnit單元測試用例,測試成功後git add .; git commit -m "本身學號 添加內容";git push;提交搭檔項目git log的截圖,包含上面git commit的信息,並加上本身的學號水印信息。
實驗截圖

3、敏捷開發與XP實踐-3

實驗要求
  • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEA
  • 完成重構內容的練習,下載搭檔的代碼,至少進行三項重構,提交重構後代碼的截圖,加上本身的學號水印。提交搭檔的碼雲項目連接。
實驗內容及截圖
  • 重構(Refactor),就是在不改變軟件外部行爲的基礎上,改變軟件內部的結構,使其更加易於閱讀、易於維護和易於變動 。html

  • 重構方法java

  • 重建快捷鍵
    • 重命名文件、方法、屬性等(rename):SHIFT+F6
    • 提取當前選擇爲變量(extract variable):CTRL+ALT+V
    • 提取當前選擇爲屬性(extract field):CTRL+ALT+F
    • 提取當前選擇爲常量(extract constant):CTRL+ALT+C
    • 提取當前選擇爲方法(extract method):CTRL+ALT+M
    • 提取當前選擇爲方法參數(extract parameter):CTRL+ALT+P
    • 重構類、方法(change signarture):CTRL+F6
    • 提取代碼塊至if、try等結構中(surround with):CTRL+ALT+T
    • 建立模塊文件等(new):CTRL+ALT+N
    • 建立測試用例(test):CTRL+SHIFT+T
    • 重構菜單(refactor for this):CTRL+T
  • 重構過程

重構前的代碼git

public class csj
{
    public static int csj(int n)
    {
        if(n>=0)
            if(n==0||n==1)
                return n;
            else
                return csj(n-2)+csj(n-1);
        return -1;
    }
    public static void main(String args[])
    {

        int m=25,n;
        int fib[]=new int[m];
        for(n=0;n<m;n++)
            fib[n]=csj(n);
        for(n=0;n<fib.length;n++)
            System.out.print(" "+fib[n]);
        System.out.println();
    }
}
  • 代碼存在以下問題:
    • 類名不符合命名規則;
    • 語句結構不方便閱讀
  • 實驗截圖

3、敏捷開發與XP實踐-3

實驗內容
實驗截圖

實驗體會與總結

  • 本次實驗事後我學會了alibaba插件的使用,能夠很方便地規範個人代碼。而且初步掌握了重構這項技能。不過因爲代碼理解能力不足,在重構時不容易發現程序不足之處於是沒法順利地規範代碼,這是在之後應該學習進步的地方。
步驟 耗時 百分比
需求分析 20 13.7%
設計 30 20.6%
代碼實現 50 34.4%
測試 30 20.6%
分析總結 15 10.3%
相關文章
相關標籤/搜索