20165307 实验三 敏捷开发与XP实践

一、敏捷开发与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、代码标准等
    简单实现凯撒密码

posted @ 2018-05-06 14:42  wangzhe1998  阅读(102)  评论(0编辑  收藏  举报