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%
posted @ 2017-05-06 15:40  20155204王昊  阅读(135)  评论(0编辑  收藏  举报