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三个等级,有些规则可以一键修复。
- 安装完成后重启IEDA即可使用代码规约扫描(在项目名称上单击右键,在弹出菜单上选择‘代码规约扫描’)
- 代码出现的规范问题
- 在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,这个功能能一键让代码看起来更舒服更易读;
- 其他的功能感觉不是特别实用,或者一般我用不到。
- Surround With(写进一个大括号)Ctrl + Alt + T,这个功能能减少一些操作,可以直接生成想要的带有大括号的语句;
敏捷开发与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解决方案:由于搭档比我进度快,后来问了问搭档,学习了,谢谢他;
实验心得
通过此次实验,又收获了不少,不仅仅知道了代码规约扫描,并且能把出现的问题改正确,还了解了好多Code
里面的功能,记住了几个比较实用的小功能。并且,不懂就要搜,不懂就要问,我每个不清楚的问题都要一点一点地问搭档,搭档一个一个地告诉我怎么做,讲得非常细,感谢,以后有什么事我也一定尽力地去帮助他。