20155204 实验3《敏捷开发与XP实践》实验报告
20155204 实验3《敏捷开发与XP实践》实验报告
一、实验内容与步骤
1.研究IDEA的code菜单。
- 老师给的任务的是把一串代码格式化,这个任务很简单。code菜单主要是关于编辑代码的一系功能,比如格式化、加注释、override等,是很实用的功能。
2.尝试给同伴的代码添加测试用例
- 步骤1:在同伴的码云上下载同伴的代码。
- 步骤2:用IDEA打开伙伴的项目,在其test文件夹中添加测试用例。
- 步骤3:将改动后的代码git到码云上。我认为最难的反而是这一步,我通过这一步重温了git的过程,需要重新建立一个新的本地库和远程库,将其连接然后上传,上传过程中我还遇到了远程库已经存在的问题,通过
git push -f
解决,牺牲了同伴的git commit 记录,很是抱歉。
3.学习重构功能。
- 学习了重构的
rename...
功能,重命名真的是比它本身看起来要重要许多。一个好的命名能增加程序不少的可读性。 - 学习了重构的
Encapsulate Field...
方法,这个方法可以封装类里面的变量,比如我们之前刚学习类时的剑客、法师RPG游戏编程时,就可以用这个方法将剑客、法师的许多行为封装。 - 学习了重构的
Extract Method
方法,此方法可以抽象方法,使得一个方法可以重复使用,符合DRY原则。
4.以结对方式完成Java密码学的学习
- java密码学这篇博客首先介绍了密码学的基础内容,之后用java实现了凯撒、DES、RSA、共享密钥、MD5算法。
- 我主要实现了其中的RSA算法,整体思路为首先要产生公钥私钥,接下来实现加密算法,最后用私钥解密。成果如下:
二、实验中遇到的问题
- 问题1:Integer.parse()和Integer.valueOf()的区别
- 解决方法:百度知道:Integer.parse()和Integer.valueOf()的区别 通过这个回答理解了问题。
- 问题2:git时遇到远程库已经存在的问题。
- 解决方法:通过git push -f 解决。缺点是会抹掉git commit 的信息
三、实验体会
这次实验还是在打基础,通过实验2我们学会了通过协作的方式来完成项目;通过实验1、3我们学会了优化伙伴的代码,通过实验4我们体验到了java在其他学科的应用,下次的密码学实验我们就不会只有c语言这一种选择了。
四、时间分析
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 20% |
代码实现 | 60min | 60% |
测试 | 10min | 10% |
分析总结 | 10min | 10% |