zoukankan      html  css  js  c++  java
  • 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 StatementMove 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,遵从驼峰形式。

    • 回到顶端

    码云链接

  • 相关阅读:
    oracle基础~ash报告管理
    django基础-bootstarp
    django基础~admin入门
    django基础~jquery交互
    oracle基础~RAC-grid搭建
    Oracle基础~RAC搭建准备二
    oracle基础~RAC搭建准备一
    oracle基础~补丁安装
    环境准备、框架认识、新建maven项目和配置tomcat
    python线程问题、深浅拷贝、属性动态设置
  • 原文地址:https://www.cnblogs.com/ln-0407/p/10789634.html
Copyright © 2011-2022 走看看