• 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%
  • 相关阅读:
    POI向Excel的单元格中写入图片
    POI导出excel提示ClassNotFoundException: org.apache.commons.codec.digest.DigestUtils
    POI设置Excel单元格样式
    MySQL数据库删除重复数据
    NAVICAT FOR MYSQL 快捷键
    【Eclipse】系统切换JDK版本后,Eclipse中出现JDK版本不一致的错误
    jxl导入Excel文件抛出java.lang.StringIndexOutOfBoundsException异常
    MySQL数据库
    jquery DOM操作
    触发事件
  • 原文地址:https://www.cnblogs.com/xicyannn/p/10792373.html
Copyright © 2020-2023  润新知