實驗二 Java物件導向程式設計

來源:互聯網
上載者:User

標籤:

(一)單元測試

(1) 三種代碼

虛擬碼

產品代碼

測試代碼

一般測試:

 

邊界測試:

 

測試出錯情況

 

改正代碼:

(2) TDD(Test Driven Devlopment, 測試驅動開發)

TDD的一般步驟如下:

明確當前要完成的功能,記錄成一個測試清單

快速完成編寫針對此功能的測試案例

測試代碼編譯不通過(沒產品代碼呢)

編寫產品代碼

測試通過

對代碼進行重構,並保證測試通過(重構下次實驗練習)

迴圈完成所有功能的開發

 

TDD的編碼節奏是:

增加測試代碼,JUnit出現紅條

修改產品代碼,JUnit出現綠條,任務完成

 

 

 

自行測試:

 

 

(二)物件導向三要素

(1)抽象

(2)封裝、繼承與多態

 

繼承與多態的實現:

 

 

(四)練習

1使用TDD的方式設計關實現複數類Complex。

虛擬碼

產品代碼

class complex
{
double re,im;
complex()
{
this.re=0;
this.im=0;
}
complex(double re)
{
this.re=re;
this.im=0;
}
complex(double re,double im)
{
this.re=re;
this.im=im;
}
complex add(complex p1,complex p2)
{
complex p=new complex(p1.re+p2.re,p1.im+p2.im);
return p;
}
complex minus(complex p1,complex p2)
{
complex p=new complex(p1.re-p2.re,p1.im-p2.im);
return p;
}
void print()
{
System.out.println("複數的值為:");
if(this.im!=0)
System.out.println(this.re+"+"+this.im+"i");
else
System.out.println(this.re);
}
}
public class Song
{
public static void main(String[] args)
{
complex c=new complex();
complex c1=new complex(2,7);
complex c2=new complex(5,2);
c1.print();
c2.print();
System.out.println("這兩個複數的和為:");
System.out.println((c.add(c1,c2).re+"+"+
c.add(c1, c2).im+"i").toString());

System.out.println("這兩個複數的差為:");
System.out.println((c.minus(c1,c2).re+"+"+
c.minus(c1, c2).im+"i").toString());
}
}

測試結果

3.統計PSP(Personal Software Process)時間

 

步驟 耗時
需求分析 5%
設計 20%
代碼實現 40%
測試 30%
分析總結 5%

四:總結

1.實驗總結:這次實驗主要內容是代碼物件導向三要素的應用,以及代碼的設計思想以及測試方法,通過這周和上周的PSP時間比例可以看出,設計和測試的比重增加,而代碼實現的時間比重下降,這更接近於日常生活中的軟體開發的基本程式,而不是書本上給定題目進行的練習。通過之前基本的練習已經初步掌握了Java程式設計的基本語句,今後將更加註重程式 設計思維的練習

2.單元測試的好處:

1.協助開發人員編寫代碼,提升品質、減少bug。
2.提升反饋速度,減少重複工作,提高開發效率。
3.保證最後的代碼修改不會破壞之前代碼的功能。
4.使代碼更容易維護。

 

實驗二 Java物件導向程式設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.