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

一、实验内容

1. XP基础

2. XP核心实践

3. 相关工具

二、实验步骤

(一)代码规范

1.在IDEA中安装Alibaba插件,解决代码中的规范问题

  • 在项目名称上单击右键后选择"编码规约扫描",源代码存在的问题如图:
  • 根据提示进行了调整与修改后的结果如图:

    2.使用工具(Code->Reformate Code)把代码重新格式化

  • 最终的代码如下:

  • 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

20165309 实验三 敏捷开发与XP实践的更多相关文章

  1. 20145213《Java程序设计》实验三敏捷开发与XP实践

    20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...

  2. 20145308刘昊阳 《Java程序设计》实验三 敏捷开发与XP实践 实验报告

    20145308刘昊阳 <Java程序设计>实验三 敏捷开发与XP实践 实验报告 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 统计的PSP(Personal ...

  3. JAVA课程实验报告 实验三 敏捷开发与XP实践

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  4. 20145225《Java程序设计》 实验三 "敏捷开发与XP实践"

    20145225<Java程序设计> 实验三 "敏捷开发与XP实践" 实验报告 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上 ...

  5. 20145215实验三 敏捷开发与XP实践

    20145215实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软 ...

  6. 20145325张梓靖 实验三 "敏捷开发与XP实践"

    20145325张梓靖 实验三 "敏捷开发与XP实践" 程序设计过程 实验内容 使用 git 上传代码 git上传中遇到的问题 使用 git 相互更改代码 实现代码的重构 git ...

  7. 20162311 实验三 敏捷开发与XP实践 实验报告

    20162311 实验三 敏捷开发与XP实践 实验报告 实验内容 一.研究学习IDEA中的Code菜单 使用Code ->Reformate Code功能将以下代码格式化 public clas ...

  8. 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

    2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

  9. 20175314 实验三 敏捷开发与XP实践

    20175314 实验二 Java面向对象程序设计 一.实验内容 XP基础 XP核心实践 相关工具 二.实验步骤 (一)代码格式化 创建"175314.exp3"项目,在该项目下创 ...

随机推荐

  1. FJUT3568 中二病也要敲代码(线段树维护区间连续最值)题解

    题意:有一个环,有1~N编号,m次操作,将a位置的值改为b,问你这个环当前最小连续和多少(不能全取也不能不取) 思路:用线段树维护一个区间最值连续和.我们设出两个变量Lmin,Rmin,Mmin表示区 ...

  2. js希尔排序

    function shellSort (arr) { var len = arr.length; var increment = Math.floor(len/2); while(increment! ...

  3. 论文阅读:Learning Visual Question Answering by Bootstrapping Hard Attention

    Learning Visual Question Answering by Bootstrapping Hard Attention Google DeepMind  ECCV-2018   2018 ...

  4. 多线程tips(面试常用)

    描述线程和进程的区别? 我们运行一个exe,就是一个进程实例,系统中有很多个进程.每一个进程都有自己的内存地址空间,每个地址相当于一个独立的边界,有自己独占的资源,进程之间不能共享代码和数据空间.(可 ...

  5. pgAdmin的数据恢复

    DOC 本地添加server 1.设置备份.恢复的exe路径.一般在pgAdmin的安装路径下可以找到 2.恢复restore,备份backup

  6. 使用 node 创建代码服务器

    var express = require('express'); var proxy = require('http-proxy-middleware'); var app = express(); ...

  7. video组件的使用

    <video width="100%" height="100%" :src="downloadUrl" controls=" ...

  8. 【BZOJ】1830: [AHOI2008]Y型项链

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1830 直接枚举目标串是什么,目标串一定是三个字符串的某一个前缀(注意可能为空),然后判断一 ...

  9. (一)PHP简介

    什么是 PHP? PHP 是 "PHP Hypertext Preprocessor" 的首字母缩略词 PHP 是一种被广泛使用的开源脚本语言 PHP 脚本在服务器上执行 PHP ...

  10. C#双缓冲代码

    private void Form1_Load(object sender, EventArgs e) { //在窗体加载的时候 解决窗体闪烁问题 //将图像绘制到缓冲区减少闪烁 this.SetSt ...