2018-2019-2 20175310 实验三《敏捷开发与XP实践》实验报告

2018-2019-2 20175310 实验三《敏捷开发与XP实践》实验报告

一、实验步骤及内容

(一)、敏捷开发与XP实践-1

· 题目要求:

参考 (http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD) 安装alibaba 插件,解决代码中的规范问题。
在IDEA中使用工具Code->Reformate Code把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。

public class CodeStandard {
public static void main(String [] args){
StringBuffer buffer = new StringBuffer();
buffer.append('S');
buffer.append("tringBuffer");
System.out.println(buffer.charAt(1));
System.out.println(buffer.capacity());
System.out.println(buffer.indexOf("tring"));
System.out.println("buffer = " + buffer.toString());
if(buffer.capacity()<20)
buffer.append("1234567");
for(int i=0; i<buffer.length();i++)
System.out.println(buffer.charAt(i));
}
}

· 实验步骤:

1、安装Alibaba Java Code Guidelines插件:
打开 File ->Settings ->Plugins,在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,点击Install进行安装,然后重启IDEA生效:

2、规范代码:
①在项目名称上单击右键,在弹出菜单上选择编码规约扫描:

②在弹出的窗口中点击出现问题的语句,在右侧就可以看到详情信息,具体哪句话出错了,还能点击黄色的小灯泡直接修改。

③删除魔法值:提示说不允许任何魔法值直接出现在代码中

因此只需将代码中的20用一个常量来代替就行

④添加@author的注释信息:
把光标放在类名上,点击出现的more

点击more之后就可以看到注释信息的模板了

此时进行编码规约扫描就可以看到左下角的绿色弹窗,说明代码已经规范啦~

⑤规范后代码:

/**
 * @author 20175310奚晨妍
 * @date 2019/04/29
 */
public class CodeStandard {
    public CodeStandard() {
        super();
    }

    public static void main(String[] args) {
        int n = 20;
        StringBuffer buffer = new StringBuffer();
        buffer.append('S');
        buffer.append("tringBuffer");
        System.out.println(buffer.charAt(1));
        System.out.println(buffer.capacity());
        System.out.println(buffer.indexOf("tring"));
        System.out.println("buffer = " + buffer.toString());
        if (buffer.capacity() < n) {
            buffer.append("1234567");
        }
        for (int i = 0; i < buffer.length(); i++) {
            System.out.println(buffer.charAt(i));
        }
    }
}

3、代码格式化:
点击Code->Reformate Code,对代码进行格式化

4、Code菜单的使用:
个人觉得Code菜单中最好用的是Override Methods功能,能够重写方法。

双击就可以出现需要重写的类的框架,这样就方便快捷了许多!

(二)、敏捷开发与XP实践-2

· 题目要求:

在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

· 实验步骤:

1、将学习搭档加入自己的项目中:
①进入仓库,点击管理,点击左侧的仓库成员管理,仓库权限改为管理员,然后复制链接将链接分享给搭档就可以啦~

②点击搭档分享的链接,点击接受即可

③加入成功!

2、下载搭档的Complex代码
①在仓库中找到搭档的代码,点击克隆下载,复制链接

②在虚拟机中用git clone https://gitee.com/A5320/pair_programming_code.git克隆搭档代码

3、对搭档的Complex代码进行JUnit单元测试:
对加减乘除四种虚数运算都进行了测试,代码如下:

import junit.framework.TestCase;
import org.junit.Test;
public class ComplexTest extends TestCase {
    Complex a = new Complex(0, 5);
    Complex b = new Complex(-5, -1);
    Complex c = new Complex(6,1);

    @Test
    public void testComplexAdd() throws Exception {
        assertEquals("-5.0+4.0i", a.ComplexAdd(b).toString());
        assertEquals("6.0+6.0i", a.ComplexAdd(c).toString());
        assertEquals("1.0", b.ComplexAdd(c).toString());
    }
    @Test
    public void testComplexSub() throws Exception {
        assertEquals("5.0+6.0i", a.ComplexSub(b).toString());
        assertEquals("-6.0+4.0i", a.ComplexSub(c).toString());
        assertEquals("-11.0-2.0i", b.ComplexSub(c).toString());
    }
    @Test
    public void testComplexMulti() throws Exception {
        assertEquals("5.0-25.0i", a.ComplexMulti(b).toString());
        assertEquals("-5.0+30.0i", a.ComplexMulti(c).toString());
        assertEquals("-29.0-11.0i", b.ComplexMulti(c).toString());
    }
    @Test
    public void testComplexComplexDiv() throws Exception {
        assertEquals("-0.2-1.0i", b.ComplexDiv(a).toString());
        assertEquals("0.1+0.8i", a.ComplexDiv(c).toString());
        assertEquals("-0.8-0.3i", b.ComplexDiv(c).toString());
    }

}

4、将测试代码推送到码云

5、git log搭档的项目,这时就可以看到刚刚我git push的信息啦~

(三)、敏捷开发与XP实践-3

· 题目要求:

完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。

· 实验步骤:

1、对搭档的代码进行编码规约扫描

2、对出现的问题进行一一解决:

  • 问题1:
    中括号是数组类型的一部分,数组定义如下:String[] args

  • 问题1解决方案:
    可以直接将[]提前,或者点击黄色的小灯泡快捷修改

  • 问题2:
    所有的类都必须添加创建者信息

  • 问题2解决方案:
    在三个类前均加上创建者信息:

  • 问题3:
    类名必须遵从驼峰形式:

  • 问题3解决方案:
    将类名和文件名都用驼峰形式命名。对代码再次进行编码规约扫描,此时出现绿色的对话框,说明代码已经规范啦。

二、码云链接

三、参考博客

实验三 敏捷开发与XP实践
Intellj IDEA 简易教程

四、PSP时间

步骤 耗时(min) 百分比
需求分析 40 15%
设计 30 11%
代码实现 100 38%
测试 40 15%
分析总结 50 19%
原文地址:https://www.cnblogs.com/xicyannn/p/10792373.html