2017-2018-2 20165309实验三《Java面向对象程序设计》实验报告
一、实验内容
1. XP基础
2. XP核心实践
3. 相关工具
二、实验步骤
(一)代码规范
1.在IDEA中安装Alibaba插件,解决代码中的规范问题
- 在项目名称上单击右键后选择"编码规约扫描",源代码存在的问题如图:
- 根据提示进行了调整与修改后的结果如图:
2.使用工具(Code
->Reformate Code
)把代码重新格式化
-
最终的代码如下:
-
对Code菜单的一些学习
- 要初步了解
Code
菜单的功能们和快捷键们可以看:《IDEA快捷键拆解系列(六):Code篇》 - 个人认为比较好用的是:
动作 快捷键 说明 Override Methods… Ctrl+O 重写基类的方法 Implement Methods… Ctrl+I 实现基类或接口中的方法 Generate… Alt+Insert 产生构造方法、getter/setter等方法 Surround With… Ctrl+Alt+T 将选中的代码使用if、while、try/catch等包装 Unwrap/Remove… Ctrl+Shift+Delete 去除相关的包装代码 - 要初步了解
(二)结对&单元测试
1.在码云上通过"管理->项目成员管理->开发者"的步骤把学习搭档加入到自己的项目中:
2.下载搭档实验二的Complex代码,加入JUnit单元测试用例
- 对复数的实部、虚部与加、减、乘、除运算进行单元测试。
- 测试成功的截图如下:
3.搭档项目git log
的截图为:
4.代码链接
(三)重构
1.重构的概念
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
2.下载搭档的代码,进行重构
- 我进行的三项重构为:
Rename
Encapsulate Fields
Extract Methods
- 重构后代码的截图为:
3.代码链接
(四)Java 密码学算法
DES算法
通过老师提供的《Java密码学算法》教学博客,我们主要对DES算法进行了详细的了解和学习,并结合所学知识对老师提供的源码进行了重构,具体过程如下:
1.对称密钥的生成和保存
2.保存密钥编码
keykb1.dat是一个二进制文件,存放的是任意二进制数:
3.使用对称密钥进行加密和解密
4.解密
重构后的程序:
代码链接
三、实验中遇到的问题及解决
实验中遇到的一些小问题已在实验步骤中做了解决描述,在这儿分享一个更多了解重构相关内容的链接:
利用Idea 重构功能及Java8语法特性 优化深层嵌套代码
四、实验收获
这次的实验让我在学会规范代码的同时复习了密码学的知识,对IDEA的菜单也有了更多的了解。虽然做起来感觉没有之前的那么难了,但是收获却很大。
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 20 |
设计 | 20min | 20 |
代码实现 | 30min | 30 |
测试 | 15min | 15 |
分析总结 | 15min | 15 |