• 2018-2019-2 20175228实验三《敏捷开发与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));
    }
    }

    2、安装alibaba插件,在项目名称上单击右键,在弹出菜单上选择编码规约扫描。

    3、规范后的代码如下:

    /**
     * Demo class
     *
     * @author lyc5228
     * @date 2019/5/2
     */
    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());
            int n = 20;
            if (buffer.capacity() < n) {
                buffer.append("1234567");
            }
    
            for (int i = 0; i < buffer.length(); i++) {
                System.out.println(buffer.charAt(i));
            }
    
        }
    }

    (二)git的使用

    1.把同伴(20175332)加入自己的项目中:
    管理->仓库->仓库成员管理->添加仓库成员->邀请用户,发送链接给结对伙伴。

    结对成功

    2、测试搭档的代码

    3、上传码云

    git clone+结对伙伴的码云仓库链接

    git add .

    git commit -m“xxxx”

     4、结对伙伴码云截图

    (三)重构

    1、编码规约扫描

    2、出现问题

    (1)“else”没有加大括号。

    (2)所有的覆写方法,必须加@Override注释。

    (3)方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase,必须遵从驼峰形式。

    3、重构后代码:

    public class Complex {
        double realPart =0;
        double imagePart =0;
        public Complex(){}
        public Complex(double realPart,double imagePart){
            this.realPart =realPart;
            this.imagePart =imagePart;
    
        }
        public double getRealPart(){
            return realPart;
        }
        public double getImagePart(){
            return imagePart;
        }
        @Override
        public String toString(){
            String s = "";
            double r= realPart;
            double i= imagePart;
            if(r==0&&i==0){
                s="0";
            }
            else if(r==0&&i!=0){
                s=i+"i";
            }
            else if(r!=0&&i==0){
                s=r+"";
            }
            else if(r!=0&&i<0){
                s=r+""+i+"i";
            }
            else
            {
                s=r+"+"+i+"i";
            }
            return s;
        }
        @Override
        public boolean equals(Object obj){
            if(this==obj){
                return true;
            }
            else {
                return false;
            }
        }
    
        public Complex complexAdd(Complex a){
            return new Complex(realPart +a.getRealPart(), imagePart +a.getImagePart());
        }
        public Complex complexSub(Complex a){
            return new Complex(realPart -a.getRealPart(), imagePart -a.getImagePart());
        }
        public Complex complexMulti(Complex a){
            double r= realPart *a.getRealPart()- imagePart *a.getImagePart();
            double i = imagePart *a.getRealPart()+ realPart *a.getImagePart();
            return new Complex(r,i);
        }
        public Complex complexDiv(Complex a){
            double r=(realPart * a.imagePart + imagePart * a.realPart) / (a.imagePart * a.imagePart + a.realPart * a.realPart);
            double i=(imagePart * a.imagePart + realPart * a.realPart) / (a.realPart * a.realPart + a.realPart * a.realPart);
            return new Complex(r,i);
        }
    }

     二、码云链接

    1、代码托管

    2、结对伙伴链接

    三、实验心得与体会

    这次实验难度整体小于之前的实验,主要是在实验中,需要体会代码的规范性,力求让自己的代码更具有可观性。

  • 相关阅读:
    Spring MVC中@ControllerAdvice注解实现全局异常拦截
    IDEA一个窗口打开多个项目
    IntelliJ IDEA中Spring Boot项目使用spring-boot-devtools无法实现热部署/热更新的问题解决
    Java中String/StringBuffer/StringBuilder区别(转)
    IDEA查看源码时提示:Library source does not match the bytecode for class的问题分析
    忙的一天的复盘
    Apollo专题
    使用Spring JPA中Page、Pageable接口和Sort类完成分页排序【专题】
    公众号开发之wx-tools+springboot应用实战-音乐爬虫推送[JAVA]
    [LeetCode] 152. Maximum Product Subarray 求最大子数组乘积
  • 原文地址:https://www.cnblogs.com/20175228lyc/p/10801991.html
Copyright © 2020-2023  润新知