20165309 实验三 敏捷开发与XP实践
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.下载搭档的代码,进行重构
- 我进行的三项重构为:
RenameEncapsulate FieldsExtract 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 |
20165309 实验三 敏捷开发与XP实践的更多相关文章
- 20145213《Java程序设计》实验三敏捷开发与XP实践
20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...
- 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...
- JAVA课程实验报告 实验三 敏捷开发与XP实践
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225《Java程序设计》 实验三 "敏捷开发与XP实践"
20145225<Java程序设计> 实验三 "敏捷开发与XP实践" 实验报告 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上 ...
- 20145215实验三 敏捷开发与XP实践
20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ...
- 20145325张梓靖 实验三 "敏捷开发与XP实践"
20145325张梓靖 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 git上传中遇到的问题 使用 git 相互更改代码 实现代码的重构 git ...
- 20162311 实验三 敏捷开发与XP实践 实验报告
20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- 20175314 实验三 敏捷开发与XP实践
20175314 实验二 Java面向对象程序设计 一.实验内容 XP基础 XP核心实践 相关工具 二.实验步骤 (一)代码格式化 创建"175314.exp3"项目,在该项目下创 ...
随机推荐
- AtCoder Beginner Contest 117 解题报告
果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...
- Ubuntu 更新系统版本以及查看当前系统版本的命令
1. Ubuntu 查看当前系统版本: lsb_release -a 2. Ubuntu 更新系统版本的命令: sudo do-release-upgrade
- Shiro学习笔记六(自定义Reaml-使用数据库设置 user roles permissions)
1.工程目录 pom文件还和以前设置的一样就是添加了一个数据库驱动, <dependencies> <dependency> <groupId>junit</ ...
- eclipse创建springBoot项目
创建Spring Boot 工程 先在eclipse中安装spring -tool -suite插件,然后根据以下步骤可以创建1.新建Spring Starter Project 2.Packagin ...
- [转载]linux下core文件设置与查看
转自:https://blog.csdn.net/dingqinghui/article/details/77855330?locationNum=9&fps=1 linux下core文件设置 ...
- ARM伪指令
1.伪指令是什么 ARM伪指令不是ARM指令集中的指令,只是为了编程方便人们定义了伪指令. 在汇编时这些指令将会被等效的ARM指令或arm指令的组合代替. 编程时可以像其他ARM指令一样使用伪指令,区 ...
- List<String> list=new ArrayList<String>(20);为什么要声明为List 而不是ArrayList<String>?
如何理解:List<String> list=new ArrayList<String>();为甚麼要声明为List 而不是ArrayList<String>? 在 ...
- leecode第二十题(有效的括号)
class Solution { public: bool isValid(string s) { ,end=s.size()-; )//万万没想到,他把空字符串当成true了 return true ...
- 《剑指offer》第五十四题(二叉搜索树的第k个结点)
// 面试题54:二叉搜索树的第k个结点 // 题目:给定一棵二叉搜索树,请找出其中的第k大的结点. #include <iostream> #include "BinaryTr ...
- ButterKnife RadioGroup选择事件
ButterKnife 的点击事件都很清晰,在使用RadioGroup控件时的方法: <!-- 定义一组单选框 --> <RadioGroup android:id="@+ ...