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、代码标准等
简单实现凯撒密码