20169219 实验三 敏捷开发与XP实践 报告
实验内容
1、求命令行传入整数参数的和。
package exp3;
public class TestArgs01 {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i < args.length; ++i) {
sum += Integer.parseInt(args[i]);
}
System.out.println(sum);
}
}
这个输入变量可以在run > Edit Configurations
下面的Program arguments
运行结果如下
2、参考Integer类中的方法把字符串转为整数
补充代码以递归的方式求命令行参数的args中整数数据的和
package exp3;
import java.util.Arrays;
public class TestArgs02 {
public static void main(String[] args) {
boolean sum = false;
int[] a = new int[9];
for(int i = 0; i < args.length; ++i) {
a[i] = Integer.parseInt(args[i]);
}
int var4 = clSum(a);
System.out.println(var4);
}
public static int clSum(int[] arr) {
int j = arr.length;
if(j == 1) {
return arr[0];
} else {
int[] b = Arrays.copyOf(arr, arr.length - 1);
return clSum(b) + arr[j - 1];
}
}
}
3、格式化代码
之前格式化代码在IDEA下的快捷键是ctrl+alt+L
.
Eclipse下的格式化代码快捷键是Ctrl+Shift+F
,但是会出现一个问题:在win10上会出现字体的简繁转换,再重复按键一次就可以转换回来。
4、下载搭档的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
上周自己做的时候已经测试过Complex代码了,这次看了搭档的代码和自己的代码有点差别,改了部分的函数和数据,测试通过。
5、重构
重构的代码更加易于阅读、易于维护和易于变更。
Refactor->Encapsulate Field...
可以实现代码的封装
在IDEA中像是getId
、 setId
、 getAge
、 setAge
这样的get
和set
方法可以通过提示直接生成相应的方法,实现快速、标准化编写代码,节省时间。
6、版本控制
这个真的真的很重要。
今天提交代码之后,我回退了一个版本,使用的方法是:
1 使用Git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96。
2
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
3 把修改推到远程服务器
git push -f -u origin master
结果是成功了。。。。。
结果发现自己下午编写的新代码,本地文件夹的文件也被删除了。真的是好气啊!
可是还是不知道怎么回退回来,撤销版本回退。
自己又不得不重新写了代码。
遇到的问题
1、版本回退之后,想要撤销这次版本回退,不知道怎么撤销这样的结果。
2、忘记创建测试代码的过程,在这记录下。
- 右键单击项目,在弹出的菜单中选择
New->Directory
新建一个目录:- 在命令行中我们知道要设置
SOURCEPATH
环境变量,在IDEA中我们右键单击test
目录,在弹出的菜单中选择Mark Directory as->Test Sources Root
PSP(Personal Software Process)时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20 | 12.5% |
设计 | 30 | 18.75% |
代码实现 | 60 | 37.5% |
测试 | 20 | 12.5% |
分析总结 | 30 | 18.75% |