20165309 实验三 敏捷开发与XP实践

本文介绍了一个Java面向对象程序设计实验,包括XP基础、核心实践及相关工具的使用,详细记录了代码规范、结对编程与单元测试的过程,同时探讨了重构技巧及Java密码学算法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017-2018-2 20165309实验三《Java面向对象程序设计》实验报告

一、实验内容

1. XP基础

2. XP核心实践

3. 相关工具

二、实验步骤

(一)代码规范

1.在IDEA中安装Alibaba插件,解决代码中的规范问题
  • 在项目名称上单击右键后选择"编码规约扫描",源代码存在的问题如图:
    1271290-20180501125816876-630927139.png
  • 根据提示进行了调整与修改后的结果如图:
    1271290-20180501125827594-304909658.png

    2.使用工具(Code->Reformate Code)把代码重新格式化
  • 最终的代码如下:
    1271290-20180503225800042-791666076.png

  • 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.在码云上通过"管理->项目成员管理->开发者"的步骤把学习搭档加入到自己的项目中:

1271290-20180501213958983-1672138703.png

2.下载搭档实验二的Complex代码,加入JUnit单元测试用例
  • 对复数的实部、虚部与加、减、乘、除运算进行单元测试。
  • 测试成功的截图如下:
    1271290-20180501215938814-618814456.png
3.搭档项目git log的截图为:

1271290-20180501214322724-393382226.png

4.代码链接

(三)重构

1.重构的概念

重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。

2.下载搭档的代码,进行重构
  • 我进行的三项重构为:
    • Rename
    • Encapsulate Fields
    • Extract Methods
  • 重构后代码的截图为:
    1271290-20180501222934242-1558291689.png
3.代码链接

(四)Java 密码学算法

DES算法

通过老师提供的《Java密码学算法》教学博客,我们主要对DES算法进行了详细的了解和学习,并结合所学知识对老师提供的源码进行了重构,具体过程如下:

1.对称密钥的生成和保存
1271290-20180503214835034-812916012.png

2.保存密钥编码
1271290-20180503214853113-153970300.png

keykb1.dat是一个二进制文件,存放的是任意二进制数:
1271290-20180503214859137-932682632.png

3.使用对称密钥进行加密和解密
1271290-20180503214906647-386168544.png

4.解密
1271290-20180503214914291-36553922.png

重构后的程序:
1271290-20180503214928168-1658556645.png

代码链接

三、实验中遇到的问题及解决

实验中遇到的一些小问题已在实验步骤中做了解决描述,在这儿分享一个更多了解重构相关内容的链接:
利用Idea 重构功能及Java8语法特性 优化深层嵌套代码

四、实验收获

这次的实验让我在学会规范代码的同时复习了密码学的知识,对IDEA的菜单也有了更多的了解。虽然做起来感觉没有之前的那么难了,但是收获却很大。

步骤耗时百分比
需求分析20min20
设计20min20
代码实现30min30
测试15min15
分析总结15min15

转载于:https://www.cnblogs.com/wsj-wsj-wsj/p/8987999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值