博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165232 实验三
阅读量:6585 次
发布时间:2019-06-24

本文共 2385 字,大约阅读时间需要 7 分钟。

20165232《Java程序设计》实验三(敏捷开发与XP实践)实验报告

实验报告封面

指导教师:娄嘉鹏 实验日期:2018年4月30日

实验时间:15:45 - 17:20
实验序号:实验三
实验名称:敏捷开发与XP实践

实验内容:

  1. 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安装alibaba 插件,解决代码中的规范问题。

在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。

  1. 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
  2. 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
  3. 参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。

实验步骤

(一)alibaba 插件与Code菜单

Move Line/statement Down/Up:将某行、表达式向下、向上移动一行

suround with:用 try-catch,for,if等包裹语句

comment with line/block comment:把选中它区域变成注释

show reformat file dialog:按照格式自动对齐

Optimize imports:优化imports

Insert Live Template:插入 Live Template 缩写

image

(二)Complex代码添加测试用例

结对伙伴代码

import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;import java.util.Random;import java.util.Scanner;public class SizeYunsuan {    /**     * @param args     */    public static Random rand=new Random();    public static class Qst    {        static int Operand(int Range)//产生操作数        {            int Opd=rand.nextInt(Range*2+1)-Range;            return Opd;        }        public static char OperatorKind(char Operator)//生成运算符        {            int OperatorPossible=rand.nextInt(3);            switch(OperatorPossible)            {                case 0:                    Operator='+';                    break;                case 1:                    Operator='-';                    break;                case 2:                    Operator='*';                    break;                default:                    System.out.print("Error!");            }            return Operator;        }        public static boolean IfRepeated(String str[],int Location)//判断是否重复        {            for(int i=0;i

运行通过的截图

image

搭档项目git log的截图

image

(三)重构

  1. Rename可以给类、包、方法、变量改名字,增加代码的可读性。

image

  1. Refactor->Encapsulate Field...用来封装成员变量

image

  1. Source->Generate toString()...用来产生一个toString方法

(四)以结对方式完成Java密码学的学习

凯撒密码的加密过程可记为如下一个变换:

c≡m+k mod n (其中n为基本字符个数)

同样,解密过程可表示为:

m≡c+k mod n (其中n为基本字符个数)

image

重构后,将Code,Rename为Caesar,并为p赋初值0

image

实验体会

通过此次实验,我明白了代码规范性的重要,也学习了一些基础的规范代码的操作。

PSP

步骤 耗时 百分比
需求分析 25min 8%
设计 75min 25%
代码实现 150min 50%
测试 12.5min 4%
分析总结 37.5min 13%

转载于:https://www.cnblogs.com/heyanda/p/8965871.html

你可能感兴趣的文章
Python面向对象编程(一)
查看>>
决心书
查看>>
如何把图片上的文字转换成word?
查看>>
7z命令行
查看>>
C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)
查看>>
c3p0
查看>>
我的友情链接
查看>>
引号-下划线,连接多个变量
查看>>
我的友情链接
查看>>
38线程1-Thread-local-Timer
查看>>
处理svn的 File '/aa' is out of date
查看>>
解决 Ubuntu 16.04 LTSSublime text3中文问题
查看>>
mysql主从复制实现数据库同步
查看>>
面试-1
查看>>
CentOS自动登录Gnome
查看>>
第一章,重点总结
查看>>
LeetCode - 49. Group Anagrams
查看>>
移动前端不得不了解的html5 head 头标签
查看>>
Tomcat 服务器性能优化
查看>>
【框架学习】ibatis DAO框架分析
查看>>