2017-2018-2 20165204实验三《敏捷开发与XP实践》实验报告
一、实验报告封面
课程:Java程序设计 班级:1652班 姓名:贾普涵 学号:20165204
指导教师:娄嘉鹏 实验日期:2018年4月27日
实验时间:13:45 - 15:25
实验序号:实验三
实验名称:敏捷开发与XP实践
实验内容:
1.XP基础
2.XP核心实践
3.XP相关工具
二、实验内容
提交点一
- 安装alibaba插件,找出所给示例的不规范之处并更改。
规范前(扫描后)截图:
规范后截图如下:
- 关于Code菜单的使用:
个人认为Reformat code功能最好用,能够帮我这样的编程习惯不好的人直接将代码变得整洁。
提交点二
- 在码云上把自己的学习搭档加入自己的项目中。
伙伴加入码云截图如下:
- 确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push。
以下截图中可体现我加入的测试用例,以及测试成功。该代码已成功上传。
- 提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
搭档项目git log截图如下:
提交点三
- 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
代码重构截图如下:
提交点四
在学习博客内容之后,我们在李天林的项目里新建源文件,对计算信息摘要的MD5算法以及对称加密DES算法还有RSA算法进行研究和学习
MD5:
最开始的时候,我们编写代码时忘记用类方法getInstance创建对象,希望直接使用构造器new MessageDigest() 创建对象。这样并不合乎要求,IDEA为了纠正错误自动
在我们的程序中添加了内部类重写了MessageDigest对象protected的方法,发生第一张图片的问题。
改正错误之后,重构了Exception,具体到了两种可能抛出的异常NoSuchAlgorithmException, UnsupportedEncodingException
在IDEA命令行中传入要摘要的信息,下一行输出了摘要结果。
如第二张图片下方,我们在命令摘要了 “20165207and20165204”,该行下方为摘要结果11ee33e3c6f46dc4c9735ebf89d105ef。
DES:
在老师代码的引导下顺利实现
对称加密:
对称解密:
RSA:
同样的,我们很成功地实现了该算法,代码运行截图如下。
非对称RSA算法:
所有代码的链接汇总到李天林的项目的一个文件夹里,链接为:https://gitee.com/BESTI-IS-JAVA-2018/Java-20165207/tree/master/20165207exp3/src
我们还附加了git log的截图,可更直观地看到我们结对学习的过程。
另外,我们在结对学习过程中,由于这次比较匆忙,有几次忘记了pull,所以会有许多merge的操作来补救,下次我们一定注意。
最后附上一张结对学习的照片。
学习感想
本次和李天林同学的合作和往常一样轻松愉快,我们两人的契合度也越来越高。在今后的学习生活中一定会越来越好!