1. 程式人生 > >20165307 實驗三 敏捷開發與XP實踐

20165307 實驗三 敏捷開發與XP實踐

實驗 for comm com CI 感覺 基本 java 分享

一、敏捷開發與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));
    }
    }

    技術分享圖片

    Code菜單的功能學習

  • Implement Methods(Ctrl+I)完成當前類 implements 的(或者抽象基本類的)接口的方法;
  • Override Methods(Ctrl+O)重載基本類的方法;
  • Generate(Alt+Insert)創建類裏面任何字段的 getter 與 setter 方法;
  • Reformat Code(Ctrl+Alt+L)將代碼按標準格式縮進;

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

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

技術分享圖片

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

實驗要求

  • 完成重構內容的練習,下載搭檔的代碼,至少進行三項重構,提交重構後代碼的截圖,加上自己的學號水印。提交搭檔的碼雲項目鏈接。
    重構(Refactor),就是在不改變軟件外部行為的基礎上,改變軟件內部的結構,使其更加易於閱讀、易於維護和易於變更。

搭檔代碼https://gitee.com/1245821291/javabestiis20165311_li_jiaxin/blob/master/20165311/%E7%BB%84%E5%90%88%E6%95%B0/zuheshu.java

public class zuheshu {
    public static void main(String[] args) {
      
       
            
         
            try {
               int n= Integer.parseInt(args[0]);
               int m= Integer.parseInt(args[1]);

                if (m >= 0 && n > 0 && m <= n) {
                    int[][] a = new int[n + 1][n + 1];
                    int i = 0, j = 0,b = 0,count = 0;
                    for (i = 0; i <= n; i++) {
                        for (j = 0; j <= i; j++) {
                            if (j > 0 && j < i) 
                                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
                            
                            if (j == 0 || j == i) {
                                a[i][j] = 1;
                            }
                        }
                    }
                    System.out.println("C(n,m)的值為:" + a[n][m]);
                }
                else System.out.println("輸入錯誤:組合數n必須大於m");

            }
            catch(Exception e) {
                System.out.println("輸入的不是數字");
            }
        
    }
}

以上代碼結構存在以下問題

  • 類名不符合命名規則;
  • 語句結構不方便閱讀;
  • 定義了冗余變量;

技術分享圖片

四、敏捷開發與XP實踐-4

實驗要求

  • 以結對的方式完成Java密碼學相關內容的學習,結合重構、git、代碼標準等
    簡單實現凱撒密碼

技術分享圖片

20165307 實驗三 敏捷開發與XP實踐