• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    要想做好單元測試-必須掌握編程規范

    發布: 2009-3-20 11:16 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 35次 | 進入軟件測試論壇討論

    領測軟件測試網

    除非輸出流一出作用域就關閉,非引用計數的程序語言,比如JAVA,是不能自動完成變量的清場工作的。必須象下面一樣寫:

    FileOutputStream fos = new FileOutputStream(projectFile);

    project.save(fos, "IDE Project File");

    fos.close();

    Clone 下面是一種有用的方法:

    implements Cloneable

    public

    Object clone()

    {

    try {

    ThisClass obj = (ThisClass)super.clone();

    obj.field1 = (int[])field1.clone();

    obj.field2 = field2;

    return obj;

    } catch(CloneNotSupportedException e) {

    throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());

    } }

    final 類
    絕對不要因為性能的原因將類定義為 final 的(除非程序的框架要求)
    如果一個類還沒有準備好被繼承,最好在類文檔中注明,而不要將她定義為 final 的。這是因為沒有人可以保證會不會由于什么原因需要繼承她。

    訪問類的成員變量
    大部分的類成員變量應該定義為 protected 的來防止繼承類使用他們。

    注意,要用"int[] packets",而不是"int packets[]",后一種永遠也不要用。

    public void setPackets(int[] packets) { this.packets = packets; }

    CounterSet(int size)

    {

    this.size = size;

    }
    編程技巧

    byte 數組轉換到 characters

    為了將 byte 數組轉換到 characters,你可以這么做:

    "Hello world!".getBytes();
    Utility 類

    Utility 類(僅僅提供方法的類)應該被申明為抽象的來防止被繼承或被初始化。

    初始化

    下面的代碼是一種很好的初始化數組的方法:

    objectArguments = new Object[] { arguments };

    枚舉類型

    JAVA 對枚舉的支持不好,但是下面的代碼是一種很有用的模板:

    class Colour {

    public static final Colour BLACK = new Colour(0, 0, 0);

    public static final Colour RED = new Colour(0xFF, 0, 0);

    public static final Colour GREEN = new Colour(0, 0xFF, 0);

    public static final Colour BLUE = new Colour(0, 0, 0xFF);

    public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF);

    }

    這種技術實現了RED, GREEN, BLUE 等可以象其他語言的枚舉類型一樣使用的常量。 他們可以用 == 操作符來比較。但是這樣使用有一個缺陷:如果一個用戶用這樣的方法來創建顏色 BLACK

    new Colour(0,0,0)

    那么這就是另外一個對象,==操作符就會產生錯誤。她的 equal() 方法仍然有效。由于這個原因,這個技術的缺陷最好注明在文檔中,或者只在自己的包中使用。

    Swing

    避免使用 AWT 組件

    混合使用 AWT 和 Swing 組件

    如果要將 AWT 組件和 Swing 組件混合起來使用的話,請小心使用。實際上,盡量不要將他們混合起來使用。

    滾動的 AWT 組件

    AWT 組件絕對不要用 JscrollPane 類來實現滾動。滾動 AWT 組件的時候一定要用 AWT ScrollPane 組件來實現。

    避免在 InternalFrame 組件中使用 AWT 組件

    盡量不要這么做,要不然會出現不可預料的后果。

    Z-Order 問題

    AWT 組件總是顯示在 Swing 組件之上。當使用包含 AWT 組件的 POP-UP 菜單的時候要小心,盡量不要這樣使用。

    調試

    調試在軟件開發中是一個很重要的部分,存在軟件生命周期的各個部分中。調試能夠用配置開、關是最基本的。

    很常用的一種調試方法就是用一個 PrintStream 類成員,在沒有定義調試流的時候就為 null,類要定義一個 debug 方法來設置調試用的流。

    性能

    在寫代碼的時候,從頭至尾都應該考慮性能問題。這不是說時間都應該浪費在優化代碼上,而是我們時刻應該提醒自己要注意代碼的效率。比如:如果沒有時間來實現一個高效的算法,那么我們應該在文檔中記錄下來,以便在以后有空的時候再來實現她。

    不是所有的人都同意在寫代碼的時候應該優化性能這個觀點的,他們認為性能優化的問題應該在項目的后期再去考慮,也就是在程序的輪廓已經實現了以后。

    不必要的對象構造

    不要在循環中構造和釋放對象

    使用 StringBuffer 對象

    在處理 String 的時候要盡量使用 StringBuffer 類,StringBuffer 類是構成 String 類的基礎。String 類將 StringBuffer 類封裝了起來,(以花費更多時間為代價)為開發人員提供了一個安全的接口。當我們在構造字符串的時候,我們應該用 StringBuffer 來實現大部分的工作,當工作完成后將 StringBuffer 對象再轉換為需要的 String 對象。比如:如果有一個字符串必須不斷地在其后添加許多字符來完成構造,那么我們應該使用 StringBuffer 對象和她的 append() 方法。如果我們用 String 對象代替 StringBuffer 對象的話,會花費許多不必要的創建和釋放對象的 CPU 時間。

    避免太多的使用 synchronized 關鍵字

    避免不必要的使用關鍵字 synchronized,應該在必要的時候再使用她,這是一個避免死鎖的好方法。

    可移植性

    Borland Jbulider 不喜歡 synchronized 這個關鍵字,如果你的斷點設在這些關鍵字的作用域內的話,調試的時候你會發現的斷點會到處亂跳,讓你不知所措。除非必須,盡量不要使用。

    換行

    如果需要換行的話,盡量用 println 來代替在字符串中使用" "。

    你不要這樣: System.out.print("Hello,world! ");

    要這樣: System.out.println("Hello,world!");

    或者你構造一個帶換行符的字符串,至少要象這樣: String newline = System.getProperty("line.separator");

    System.out.println("Hello world" + newline);
    PrintStream

    PrintStream 已經被不贊成(deprecated)使用,用 PrintWrite 來代替她。

    參考資料:查找有關 Thread 類和 Java 2 平臺,標準版,API 規范的其他方面的信息。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    33/3<123

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>