• 20165301陈潭飞2017-2018-2 20165301 实验三《Java面向对象程序设计》实验报告


    2017-2018-2 20165301 实验三《Java面向对象程序设计》实验报告

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

    实验要求:
    • 在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));
    }
    }
    
    实验截图
    • 在IDEA中点击setting---Plugins---Brows Repositories,搜索alibabba并下载

    • 在项目上右击选择编码规约扫描

    • 格式化之前

    • 格式化之后

    • 使用code->Reformat对齐后

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

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

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

    实验要求
    • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
    • 完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
    实验内容及截图
    • 重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。

    • 重构方法

    • 重建快捷键

      • 重命名文件、方法、属性等(rename):SHIFT+F6
      • 提取当前选择为变量(extract variable):CTRL+ALT+V
      • 提取当前选择为属性(extract field):CTRL+ALT+F
      • 提取当前选择为常量(extract constant):CTRL+ALT+C
      • 提取当前选择为方法(extract method):CTRL+ALT+M
      • 提取当前选择为方法参数(extract parameter):CTRL+ALT+P
      • 重构类、方法(change signarture):CTRL+F6
      • 提取代码块至if、try等结构中(surround with):CTRL+ALT+T
      • 创建模块文件等(new):CTRL+ALT+N
      • 创建测试用例(test):CTRL+SHIFT+T
      • 重构菜单(refactor for this):CTRL+T
    • 重构过程

    重构前的代码

    
    public class csj
    {
        public static int csj(int n)
        {
            if(n>=0)
                if(n==0||n==1)
                    return n;
                else
                    return csj(n-2)+csj(n-1);
            return -1;
        }
        public static void main(String args[])
        {
    
            int m=25,n;
            int fib[]=new int[m];
            for(n=0;n<m;n++)
                fib[n]=csj(n);
            for(n=0;n<fib.length;n++)
                System.out.print(" "+fib[n]);
            System.out.println();
        }
    }
    
    • 代码存在如下问题:

      • 类名不符合命名规则;
      • 语句结构不方便阅读
    • 实验截图

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

    实验内容
    实验截图

    实验体会与总结

    • 本次实验过后我学会了alibaba插件的使用,可以很方便地规范我的代码。并且初步掌握了重构这项技能。不过由于代码理解能力不足,在重构时不容易发现程序不足之处因而无法顺利地规范代码,这是在以后应该学习进步的地方。
    步骤 耗时 百分比
    需求分析 20 13.7%
    设计 30 20.6%
    代码实现 50 34.4%
    测试 30 20.6%
    分析总结 15 10.3%
  • 相关阅读:
    PB调用.NET类库详解
    一个游标的性能问题
    WCF实例与并发的一些测试
    PB调用.NET代码的两个入口函数
    SQL数据库表防JS木马注入
    Atitit 收入理论大总结 4位一体 4象限理论 财政收入理论 6位一体
    Atitit 融资 之道 圈钱之道 attilax总结
    Atitit 组织架构的如何划分 划分方法attilax大总结
    Atitit 每个人都应该实施的互联网金融战略 attilax总结
    Atitit 研发组织与个人如何gdp计算法 attilax总结
  • 原文地址:https://www.cnblogs.com/CTF5301/p/8965149.html
Copyright © 2020-2023  润新知