2017-2018-2 20165325 实验三《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
- 提取当前选择为方法参数(extract parameter):
- 重构类、方法(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% |
原文地址:https://www.cnblogs.com/CTF5301/p/8965149.html
时间: 2024-10-07 13:08:19