20172332 2017-2018-2 《程序设计与数据结构》实验三报告

20172332 2017-2018-2 《程序设计与数据结构》实验三报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 于欣月
学号:20172332
实验教师:王志强
实验日期:2018年5月28日
必修/选修: 必修

1.实验内容

(1)代码规范。
(2)协同测试。
(3)重构。
(4)密码学应用。

2. 实验过程及结果

前期准备:

  • 1.把结对伙伴拉入自己的项目当中。

  • 2.把结对伙伴的项目克隆在自己的idea中。

过程:

  • 1.代码规范
    • (1)安装alibaba 插件,解决代码中的规范问题。通过在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化。
      由:

变为:

代码规范问题可能包括:注释,作者,括号,命名等问题。
- (2)再研究一下Code菜单,找出一项让自己感觉最好用的功能。
Generate——Alt+Insert:可以直接重构tostring方法还要set、get、构造方法等。

  • 2.下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

增加的三个JUnit单元测试用例:

git log的截图:

  • 3.完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。可以重构程序名,也可以重构变量名、方法名等。


  • 4.密码学应用。
    • (1)凯撒密码。
    • (2)Java对称加密-DES算法。
    • (3)Java非对称加密-RSA算法。(密钥对:公钥和私钥)
    • (4)使用密钥协定创建共享密钥。
    • (5)Java摘要算法- MD5。
      代码截图太多了,详情见

3. 实验过程中遇到的问题和解决过程

  • 问题1:在idea中git log不知道从哪里看。
  • 问题1解决方案:


  • 问题2:代码规范时,加入了作者的注释却依旧有这个

  • 问题2解决方案:这个东西改正也并不会消失,所以不是自己没改对,而是它没更新。

其他(感悟、思考等)

  • 这次的前三个实验都蛮简单的,有难度的地方就是克隆结对伙伴项目后,会有一些问题,git push时如果不注意可能会把结对伙伴的项目弄崩。
  • 第四个实验与密码学紧密相关,代码中的许多类都没见过,在学习的时候就在不停的查API文档,慢慢的学习之后,感觉自己摸着了一点门路。不过往后的共享密钥就感觉非常的有难度,还不是很能理解。

参考资料

《Java程序设计与数据结构教程(第八版)》

原文地址:https://www.cnblogs.com/yu757503836/p/9100942.html