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. 【问题解决:死锁】Lock wait timeout exceeded; try restarting transaction的问题

    执行数据删除操作时一直超时并弹出Lock wait timeout exceeded; try restarting transaction错误 解决办法 1.先查看数据库的事务隔离级别 select ...

  2. MyEclipse代码编辑器中汉字太小的解决办法(中文看不清)

    问题描述:新安装的myeclipse 2014,代码编辑器中汉字很小看不清 解决办法:调整字体即可.通过菜单Windows——Preferences,输入font过滤选择Colors and Font ...

  3. [HDU 1976] Software Version

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1976 #include<iostream> #include<cstdio> ...

  4. [exceltolist] - 一个excel转list的工具

    https://github.com/deadzq/cp-utils-excelreader  <(感谢知名网友的帮助) https://sargeraswang.com/blog/2018/1 ...

  5. JVM 及 垃圾回收机制原理

    JVM Java 虚拟机 Java 虚拟机(Java virtual machine,JVM)是运行 Java 程序必不可少的机制.JVM实现了Java语言最重要的特征:即平台无关性.原理:编译后的 ...

  6. 批量Excel数据导入Oracle数据库 导入excel错误:外部表不是预期的格式 解决方案

    在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错 ...

  7. table固定列的宽度,超出部分用…代替(针对普通table和antd)

    一. 实现思路 我们都知道让溢出内容变成...,只需要以下: overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 表格里的内容 ...

  8. 初识unittest

    unittest是python自带的一个标准木块,单元测试框架 unittest基本使用方法: 我们需要先导入unittest (import unittest) import unittest 定义 ...

  9. Selenium 页面自动化测试 面试 问题汇总

    1.   专业技术 在学习完Selenium的大部分接口或者方法之后,你可能会去面试自动化测试,主要是Selenium的自动化测试.下面这些问题总结,可能会对你有所帮助. 什么是Selenium? S ...

  10. ajax操作json的三种方式

    一. 什么是json? 1. JSON是一种轻量级的数据交换格式 2. JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在 ...