1. 程式人生 > >20175333曹雅坤 實驗三敏捷開發與XP實踐《Java開發環境的熟悉》實驗報告

20175333曹雅坤 實驗三敏捷開發與XP實踐《Java開發環境的熟悉》實驗報告

lips round formate decimal git ctrl+ -a 敏捷 實驗報告

20175333曹雅坤 實驗三敏捷開發與XP實踐《Java開發環境的熟悉》實驗報告

敏捷開發與XP實踐-1

實驗目的與要求:

  • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEA
  • 參考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安裝alibaba 插件,解決代碼中的規範問題。
  • 在IDEA中使用工具(Code->Reformate Code)把下面代碼重新格式化,再研究一下Code菜單,找出一項讓自己感覺最好用的功能。提交截圖,加上自己學號水印。
public class CodeStandard {
public static void main(String [] args){
StringBuffer buffer = new StringBuffer();
buffer.append('S');
buf![](https://img2018.cnblogs.com/blog/1272669/201905/1272669-20190502160118003-975536005.png)

fer.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));
}
}

實驗步驟

Settings ->Plugins -> Browse repositories...——安裝alibaba。
技術分享圖片

檢查代碼
技術分享圖片

格式化之後
技術分享圖片

  • 好用功能
    實現接口方法(Implements Methods):Ctrl + I
    Gengrate:Alt + Insert
    Surround With:Ctrl+Alt+T
    智能選擇並實現(SmartType):Ctrl + Shift + 空格
    方法展開 ( Expand) Ctrl + 加號
    方法折疊 (Collapse)Ctrl + 減號
    展開Java doc註釋 ( Expand doc comments )
    折疊Java doc註釋 ( Collapse doc comments )

    行註釋 (Comment with Line Comment )Ctrl + /
    塊註釋 ( Comment with Block Comment ) Ctrl + Shift + /
    格式化代碼 (Reformat Code ) Ctrl + Alt + L
    重新整理代碼 (Rearrange Code)

    敏捷開發與XP實踐-2

  • 在碼雲上把自己的學習搭檔加入自己的項目中,確認搭檔的項目加入自己後,下載搭檔實驗二的Complex代碼,加入不少於三個JUnit單元測試用例,測試成功後git add .; git commit -m "自己學號 添加內容";git push;

  • 提交搭檔項目git log的截圖,包含上面git commit的信息,並加上自己的學號水印信息。

    實驗步驟

  • 加入倉庫
    技術分享圖片

  • 效果
    技術分享圖片

  • 單元測試
    技術分享圖片

  • git log
  • 代碼
import java.text.DecimalFormat;
public class Complex {
    double RealPart;
    double ImagePart;
    public Complex(){

    }
    public Complex(double R,double I){
        RealPart = R;
        ImagePart = I;
    }
    public void setter(double R,double I){
        RealPart = R;
        ImagePart = I;
    }
    public double getterRealPart(){
        return RealPart;
    }
    public double getterImagePart(){
        return ImagePart;
    }
    @Override
    public boolean equals(Object obj){
        if(this==obj){
            return true;
        }
        else
        {
            return false;
        }
    }
    @Override
    public String toString(){
        String s = "";
        if(getterRealPart()==0&&getterImagePart()==0){
            s="0";
        }
        else if(getterRealPart()!=0&&getterImagePart()==0){
            s=s+getterRealPart();
        }
        else if (getterRealPart()==0&&getterImagePart()!=0){
            s=s+getterImagePart()+"i";
        }
        else
        {
            if(getterImagePart()<0){
                s = s+getterRealPart()+getterImagePart()+"i";
            }
            else {
                s = s+getterRealPart()+"+"+getterImagePart()+"i";
            }

        }
        return s;
    }
    public Complex ComplexAdd(Complex a){
        return new Complex((getterRealPart()+a.getterRealPart()),(getterImagePart()+a.getterImagePart()));
    }
    public Complex ComplexSub(Complex a){
        return new Complex((getterRealPart()-a.getterRealPart()),(getterImagePart()-a.getterImagePart()));
    }
    public Complex ComplexMulti(Complex a){
        double imaginePart = getterRealPart()*a.getterImagePart()+getterImagePart()*a.getterRealPart();
        double realPart = getterRealPart()*a.getterRealPart()-getterImagePart()*a.getterImagePart();
        return new Complex(realPart,imaginePart);
    }
    public Complex ComplexDiv(Complex a) throws Exception {
        double imaginePart = -getterRealPart()*a.getterImagePart()+getterImagePart()*a.getterRealPart();
        double realPart = getterRealPart()*a.getterRealPart()+getterImagePart()*a.getterImagePart();
        double div = a.getterRealPart()*a.getterRealPart()+a.getterImagePart()*a.getterImagePart();
        if(div==0){
            throw new Exception();
        }
        realPart = realPart/div;
        imaginePart = imaginePart/div;
        DecimalFormat decimalFormat = new DecimalFormat("0.0");
        return new Complex(Double.valueOf(decimalFormat.format(realPart)),Double.valueOf(decimalFormat.format(imaginePart)));
    }
}

敏捷開發與XP實踐-3

  • http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的內容替換成IDEA
  • 完成重構內容的練習,下載搭檔的代碼,至少進行三項重構,提交重構後代碼的截圖,加上自己的學號水印。提交搭檔的碼雲項目鏈接。

    實驗內容及結果截圖:

  • 添加創建者信息
    技術分享圖片

  • 給覆寫方法加上@Override註解
    技術分享圖片

  • 方法名,參數名,成員變量,局部變量都統一使用lowerCamelCase,遵從駝峰形式
    技術分享圖片

  • 規範後代碼
/**
 * @author caoyakun
 * @date 2019/5/3
 */
import java.text.DecimalFormat;

public class Complex {
    double RealPart;
    double ImagePart;

    public Complex() {

    }

    public Complex(double R, double I) {
        RealPart = R;
        ImagePart = I;
    }

    public void setter(double R, double I) {
        RealPart = R;
        ImagePart = I;
    }

    public double getterRealPart() {
        return RealPart;
    }

    public double getterImagePart() {
        return ImagePart;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        } else {
            return false;
        }
    }

    @Override
    public String toString() {
        String s = "";
        if (getterRealPart() == 0 && getterImagePart() == 0) {
            s = "0";
        } else if (getterRealPart() != 0 && getterImagePart() == 0) {
            s = s + getterRealPart();
        } else if (getterRealPart() == 0 && getterImagePart() != 0) {
            s = s + getterImagePart() + "i";
        } else {
            if (getterImagePart() < 0) {
                s = s + getterRealPart() + getterImagePart() + "i";
            } else {
                s = s + getterRealPart() + "+" + getterImagePart() + "i";
            }

        }
        return s;
    }

    public Complex ComplexAdd(Complex a) {
        return new Complex((getterRealPart() + a.getterRealPart()), (getterImagePart() + a.getterImagePart()));
    }

    public Complex ComplexSub(Complex a) {
        return new Complex((getterRealPart() - a.getterRealPart()), (getterImagePart() - a.getterImagePart()));
    }

    public Complex ComplexMulti(Complex a) {
        double imaginePart = getterRealPart() * a.getterImagePart() + getterImagePart() * a.getterRealPart();
        double realPart = getterRealPart() * a.getterRealPart() - getterImagePart() * a.getterImagePart();
        return new Complex(realPart, imaginePart);
    }

    public Complex ComplexDiv(Complex a) throws Exception {
        double imaginePart = -getterRealPart() * a.getterImagePart() + getterImagePart() * a.getterRealPart();
        double realPart = getterRealPart() * a.getterRealPart() + getterImagePart() * a.getterImagePart();
        double div = a.getterRealPart() * a.getterRealPart() + a.getterImagePart() * a.getterImagePart();
        if (div == 0) {
            throw new Exception();
        }
        realPart = realPart / div;
        imaginePart = imaginePart / div;
        DecimalFormat decimalFormat = new DecimalFormat("0.0");
        return new Complex(Double.valueOf(decimalFormat.format(realPart)), Double.valueOf(decimalFormat.format(imaginePart)));
    }
}

碼雲鏈接

搭檔
自己

20175333曹雅坤 實驗三敏捷開發與XP實踐《Java開發環境的熟悉》實驗報告