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% |
参考资料
实验三 敏捷开发与XP实践
git回退到某个历史版本
20169219 实验三 敏捷开发与XP实践 报告的更多相关文章
- 20172328《程序设计与数据结构》实验三 敏捷开发与XP实践报告
20172328<程序设计与数据结构>实验三 敏捷开发与XP实践报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 李馨雨 学号:20172328 实验教师:王志强 ...
- 20169201 实验三 敏捷开发与XP实践报告
敏捷开发与XP介绍 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法."敏捷流程"是一系列价值观和方法论的集合.从2001年开始,一些软件界 ...
- 20172302《程序设计与数据结构》实验三 敏捷开发与XP实践报告
课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月16日 必修/选修: 必修 1.实验内容 (1)代码规 ...
- 20145213《Java程序设计》实验三敏捷开发与XP实践
20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- JAVA课程实验报告 实验三 敏捷开发与XP实践
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225《Java程序设计》 实验三 "敏捷开发与XP实践"
20145225<Java程序设计> 实验三 "敏捷开发与XP实践" 实验报告 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上 ...
- 20145215实验三 敏捷开发与XP实践
20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ...
- 20145325张梓靖 实验三 "敏捷开发与XP实践"
20145325张梓靖 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 git上传中遇到的问题 使用 git 相互更改代码 实现代码的重构 git ...
随机推荐
- [Client] looks like we got no XML document in....
无wsdl方式应用webservice时,服务端包含了 include_once'inc/utility_all.php '一直报[Client] looks like we got no XML d ...
- bzoj 4555 [Tjoi2016&Heoi2016]求和——NTT+第二类斯特林数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4555 第二类斯特林数展开式: \( S(i,j) = \frac{1}{j!} \sum\l ...
- css学习笔记之图像
图像与文本的对齐方式: vertical-align:text-top;表示的意思是图像的顶部和同一行的文本对齐,但文本不会超出图片的上边线. vertical-align:middle;表示的意思是 ...
- CentOS7上部署https
目前很多浏览器都加强了html都安全性,要求配置https. 下面都例子是在CentOS7上的Apache配置https都过程. 一.生成证书 用OpenSSL生成key和证书: mkdir /etc ...
- POJ2142(扩展欧几里得)
The Balance Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5991 Accepted: 2605 Descr ...
- druid抛出异常:javax.management.InstanceAlreadyExistsException: com.alibaba.druid:type=DruidDataSource,id=xxx
第一种结论 (参考: https://www.cnblogs.com/youzhibing/p/6826767.html): 问题产生的根本原因还真是:同一实例被启动了两遍,Path为/SLBAdmi ...
- 1133 Splitting A Linked List
题意:把链表按规则调整,使小于0的先输出,然后输出键值在[0,k]的,最后输出键值大于k的. 思路:利用vector<Node> v,v1,v2,v3.遍历链表,把小于0的push到v1中 ...
- JavaScript笔记——事件
事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netscape Navigator 中出现, 作为分担服务器端运算负载的一种手段.直到几乎所有的浏览器都支持事件处理.而 DOM2 级规范开 ...
- JavaScript笔记——BOM的操作和浏览器的检测
BOM的操作 BOM 也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,就可能存在浏览器不兼容的情况,那么浏览器共有对象就成了事实的 ...
- pcs与crmsh命令比较
一.概念 1.crmsh This project is not part of the GNU Project. Pacemaker command line interface for manag ...