2018-2019-2 20175303 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

Posted cxd20175303

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-2 20175303 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告相关的知识,希望对你有一定的参考价值。

2018-2019-2 20175303 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

实验报告封面

课程:Java程序设计 班级:1753 姓名:柴轩达 学号:20175303

指导教师:娄嘉鹏 实验日期:2019年4月29日-5月2日 实验序号:3

实验名称:敏捷开发与XP实践

实验步骤

敏捷开发与XP实践-1

实验要求

  • 参老师给的链接安装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));
}
}
  • 安装alibaba插件
    • 打开settings->plugins
      技术图片
  • 使用代码规约扫描
    • 安装完成后重启IEDA即可使用代码规约扫描(在项目名称上单击右键,在弹出菜单上选择‘代码规约扫描’)
      技术图片
    • 对老师所给代码扫描后结果,出现下图内容,不规范的地方,有中文提示并且定位到了行,alibaba把问题分为block/critical/major三个等级,有些规则可以一键修复。
      技术图片
  • 代码出现的规范问题
    • 在if/else/for/while/do语句中必须使用大括号,即使只有一行代码也要用;
    • 不允许任何未定义的常量直接出现在代码中;
    • 所有类都必须添加创建者信息。
  • 修改后的代码
/**
 * CodeStandard
 *
 * @author cxd20175303
 * @date 2019/4/29
 */
public class CodeStandard {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
        int a = 20;
        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() < a) {
            buffer.append("1234567");
        }
        for (int i = 0; i < buffer.length(); i++) {
            System.out.println(buffer.charAt(i));
        }
    }
}
  • 完成代码规约扫描后要使用Code->Reformat Code,快捷键Ctrl+Alt+L
    技术图片
  • 研究一下Code菜单,以下是Code菜单的各项功能
    • Override Methods ( 重写覆盖方法 ) Ctrl + O
    • Implements Methods ( 实现接口方法 ) Ctrl + I
    • Generate (产生指导,方法,或者测试类) Alt + Insert
    • Surround With (写进一个大括号) Ctrl + Alt + T
    • UNwarp/Remove (删除) Ctrl + Shift + Delete
    • Insert Live Template ( 选择Live Templates模板 ) Ctrl + J
    • Surround with Live Template ( 选择Live Templates模板 ) Ctrl + Alt + J
    • Comment with Line Comment ( 行注释 ) Ctrl + /
    • Comment with Block Comment ( 块注释 ) Ctrl + Shift + /
    • Reformat Code ( 格式化代码 ) Ctrl + Alt + L
    • Show Reformat File Dialog ( 弹出格式化弹框 ) Ctrl + Alt + Shift + L
    • Auto-Indent Lines (自动缩进行) Ctrl+Alt+I
    • Optimize Imports ( 去除未引用的包导入声明 ) Ctrl + Alt + O
    • Rearrange Code ( 重新整理代码 )
    • Move Statement Down (下移语句) Ctrl + Shift +向下箭头
    • Move Statement Up (上移语句) Ctrl + Shift + 向上箭头
    • Move Line Down (向下移动) Alt + Shift + 向下箭头
    • Move Line Up (向上移动) Alt + Shift + 向上箭头
  • 我感觉比较实用的功能
    • Surround With(写进一个大括号)Ctrl + Alt + T,这个功能能减少一些操作,可以直接生成想要的带有大括号的语句;
      技术图片
    • Reformat Code ( 格式化代码 ) Ctrl + Alt + L,这个功能能一键让代码看起来更舒服更易读;
      技术图片
    • 其他的功能感觉不是特别实用,或者一般我用不到。

敏捷开发与XP实践-2

实验要求

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

  • 在码云上把自己的学习搭档加入自己的项目中
    技术图片
  • 将搭档的代码克隆到本地
    技术图片
  • 创建测试类
    技术图片
  • git remote add+名称+搭档仓库链接 连接搭档仓库,然后上传,上传成功后,git log查看近两天的提交,但是为啥有红色……不太清楚
    技术图片

敏捷开发与XP实践-3

实验要求

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

  • 重构complex代码
    • 添加创建者信息
    • 给覆写方法加上@Override注解
    • 方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase,遵从驼峰形式。
      技术图片
  • 重构后的代码及测试代码

代码调试中的问题和解决过程

  • 问题1:第一块内容格式化老师所给代码的时候,给代码添加创建者信息,网上搜到的答案都不能消除规约扫描的major;
  • 问题1解决方案:后来参考了其他同学的;
  • 问题2:第二块内容如何将代码传送至搭档的仓库;
  • 问题2解决方案:由于搭档比我进度快,后来问了问搭档,学习了,谢谢他;
  • 问题3:git log后为什么会有红色
  • 问题3解决方案:不知道,搭档说哪有个什么异类导致了错误?他好像在说我是个异类?

实验心得

通过此次实验,又收获了不少,不仅仅知道了代码规约扫描,并且能把出现的问题改正确,还了解了好多Code里面的功能,记住了几个比较实用的小功能。并且,不懂就要搜,不懂就要问,虽然感觉搭档很嫌弃我,但我问了就学会了,太棒了

参考资料

以上是关于2018-2019-2 20175303 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告的主要内容,如果未能解决你的问题,请参考以下文章

2019-2020-2 20175303柴轩达 《网络对抗技术》Exp2 后门原理与实践

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

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

2018-2019-2-20175327 蜂凯南 实验三 《敏捷开发与XP实践》实验报告

2018-2019-2 20175204 张湲祯 实验三《敏捷开发与XP实践》实验报告

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