2018-2019-2 20175207 实验三《敏捷开发与XP实践》实验报告
- 目录
==========
- [Git中添加添加仓库成员及测试代码](#jump2)
- [重构练习](#jump3)
- [码云链接](#jump4)
代码规范
-
在IDEA中安装alibaba 插件
File
->Settings
->Plugins
->Marketplace
在搜索框内搜索alibaba
-> 安装
-
使用
Code
->Reformat Code
(或Ctrl + Alt +L
)- 单击右键 ->
编码规约扫描
- 将光标移至代码中划〰的部分,根据提示
Ctrl + F1
会出现完整的提示信息。 - 点击下面窗口中划〰的部分,会出现提示信息
-
Code菜单
Code菜单真的太太太太太太太太好用了!!!!-
Surrand With
(或Ctrl + Alt + T
):有许多常用以及不常用的语句。 -
Override Methods
(或Ctrl + O
):重写覆盖方法。好处是你可以避免由于自己的粗心而出现的语法问题。 -
Generate
(或Alt + Insert
):可以直接产生Test
及其大致框架。
-
移动 行
菜单中名称 快捷键 作用 Move Statement Down Shift + Ctrl + 向下箭头 将光标所在这一行和下一行交换 Move Statement Up Shift + Ctrl + 向上箭头 将光标所在这一行和下一行交换 Move Line Down Shift +Alt + 向下箭头 将光标所在这一行和下一行交换 Move Line Up Shift +Alt + 向上箭头 将光标所在这一行和下一行交换 Move Statement
与Move Line
的区别:(例如) -
System.out.println("buffer = " + buffer.toString()); //1
if (buffer.capacity() < 20)
buffer.append("1234567");
单击注释1所在这一行,```Move Statement Down```会使上下行语句调换,且注释行语句进入```if```结构中,效果如下:
if (buffer.capacity() < 20) {
System.out.println("buffer = " + buffer.toString());//1
buffer.append("1234567");
}
而```Move Line Down```只会使上下行语句调换,调换后,```if```循环内不再保留原循环内语句,效果如下:
if (buffer.capacity() < 20)
System.out.println("buffer = " + buffer.toString());//1
buffer.append("1234567");
Git中添加添加仓库成员及测试代码
要求:在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
- 在Git中添加添加仓库成员
- 打开码云,进入仓库,按下图所示操作:
- 效果:
- 打开码云,进入仓库,按下图所示操作:
- 搭档代码:
public class Complex {
int RealPart;
int ImagePart;
public Complex(){}
public Complex(int R,int I){
RealPart = R;
ImagePart = I;
}
public int getRealPart(){
return RealPart;
}
public int getImagePart(){
return ImagePart;
}
public String toString(){
String s = new String();
if(ImagePart>0)
s = getRealPart()+"+"+getImagePart()+"i";
if(ImagePart==0)
s = getRealPart()+"";
if(ImagePart<0)
s = getRealPart()+""+getImagePart()+"i";
if(RealPart==0)
s = getImagePart()+"i";
if(ImagePart==0&&RealPart==0)
s = "0";
return s;
}
public Complex ComplexAdd(Complex a){
Complex d = new Complex();
d.RealPart = RealPart + a.RealPart;
d.ImagePart = ImagePart + a.ImagePart;
return d;
}
public Complex ComplexSub(Complex a){
Complex d = new Complex();
d.RealPart = RealPart - a.RealPart;
d.ImagePart = ImagePart - a.ImagePart;
return d;
}
public Complex ComplexMulti(Complex a){
Complex d = new Complex();
d.RealPart = RealPart*a.RealPart - ImagePart*a.ImagePart;
d.ImagePart = RealPart*a.ImagePart + ImagePart*a.RealPart;
return d;
}
public Complex ComplexDiv(Complex a) {
Complex d = new Complex();
d.RealPart = (RealPart * a.RealPart + ImagePart * a.ImagePart) / (a.RealPart * a.RealPart + a.ImagePart * a.ImagePart);
d.ImagePart = (ImagePart * a.RealPart - RealPart * a.ImagePart) / (a.RealPart * a.RealPart + a.ImagePart * a.ImagePart);
return d;
}
}
- 测试代码·:
import junit.framework.TestCase;
public class ComplexTest extends TestCase {
Complex a = new Complex(7, 9);
Complex b = new Complex(-2, -3);
public void testEquals() {
assertEquals(true, a.equals(a));
assertEquals(false, b.equals(a));
}
public void testToString() {
assertEquals("7+9i", a.toString());
assertEquals("-2-3i", b.toString());
}
public void testComplexAdd() {
assertEquals("5+6i",a.ComplexAdd(b).toString());
assertEquals("-4-6i",b.ComplexAdd(b).toString());
}
public void testComplexSub() {
assertEquals("9+12i",a.ComplexSub(b).toString());
assertEquals("0",b.ComplexSub(b).toString());
}
public void testComplexMulti() {
assertEquals("-32+126i",a.ComplexMulti(a).toString());
assertEquals("13-39i",a.ComplexMulti(b).toString());
}
public void testComplexDiv() {
assertEquals("1",a.ComplexDiv(a).toString());
}
}
-
测试结果:
-
将代码推至搭档的仓库
VCS
->Check out from version control
->Git
- 在URL中复制搭档的仓库HTTPS地址
- 将代码推到搭档码云,操作如下:
- 推送结果
Git中添加添加仓库成员及测试代码
重构练习
要求:完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。
-
添加创建者信息
-
给覆写方法加上@Override注解
-
方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase,遵从驼峰形式。