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. luogu P2713 罗马游戏

    思路 模拟就好 左偏树合并 并查集寻找 代码 #include <bits/stdc++.h> #define FOR(i,a,b) for(int i=a;i<=b;++i) us ...

  2. 三星sm865

    目录 样张 SSD-Z: CrystalDiskInfo: CrystalDiskMark: AS-SSD Benchmark: 颗粒检查: 扇区信息: HD Tune Pro: 三星Magician ...

  3. IDEA引入Gradle工程小记

    1.首先IDEA要在该工程Settings中配置本地安装的Gradle,配好其home目录,注意目录到根目录即可,不要到bin一级,否则提示错误,无法使用: 2.配置好后会自动侦测Gradle项目,点 ...

  4. R read.tabe line 5 did not have 2 elements

    R read.tabe  line 5 did not have 2 elements Reason: there are special characters such as # in file o ...

  5. P2633 Count on a tree

    思路 运用树上差分的思想,转化成一个普通的主席树模型即可求解 代码 #include <cstdio> #include <algorithm> #include <cs ...

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

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

  7. Docker 开发概述

    This page lists resources for application developers using Docker. Develop new apps on Docker If you ...

  8. website for .Net Core

    5 Ways to Build Routing in ASP.NET Core Bundling in .NET Core MVC Applications with BundlerMinifier. ...

  9. ssh中的 Connection closed by ***

    另一台电脑的 mac/windows10/win7 都可以连接,就这台电脑不可以,但是能 ping 通, ssh 时总是 Connection reset by xxx 或 Connection cl ...

  10. Git 提交的正确姿势:Commit message 编写指南

    http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html Git 每次提交代码,都要写 Commit message( ...