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

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

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

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

    華為軟件編程規范和范例

    發布: 2008-4-23 16:04 | 作者: 不詳 | 來源: www.cppblog.com/oosky | 查看: 499次 | 進入軟件測試論壇討論

    領測軟件測試網


    示例:如下函數就是一種隨機內聚。 
    void Init_Var( void )
    {
        Rect.length = 0;
        Rect.width = 0; /* 初始化矩形的長與寬 */
        Point.x = 10;
        Point.y = 10;   /* 初始化“點”的坐標 */
    }
    矩形的長、寬與點的坐標基本沒有任何關系,故以上函數是隨機內聚。 
    應如下分為兩個函數: 
    void Init_Rect( void )
    {
        Rect.length = 0;
        Rect.width = 0; /* 初始化矩形的長與寬 */
    }
    void Init_Point( void )
    {
        Point.x = 10;
        Point.y = 10;   /* 初始化“點”的坐標 */
    }
    ½6-21 :如果多段代碼重復做同一件事情,那么在函數的劃分上可能存在問題 
    說明:若此段代碼各語句之間有實質性關聯并且是完成同一件功能的,那么可考慮把此段代碼構造成一個新的函數。 
    ½6-22 :功能不明確較小的函數,特別是僅有一個上級函數調用它時,應考慮把它合并到上級函數中,而不必單獨存在 
    說明:模塊中函數劃分的過多,一般會使函數間的接口變得復雜。所以過小的函數,特別是扇入很低的或功能不明確的函數,不值得單獨存在。 
    ½6-23 :設計高扇入、合理扇出(小于7 )的函數 
    說明:扇出是指一個函數直接調用(控制)其它函數的數目,而扇入是指有多少上級函數調用它。 
    扇出過大,表明函數過分復雜,需要控制和協調過多的下級函數;而扇出過小,如總是1,表明函數的調用層次可能過多,這樣不利程序閱讀和函數結構的分析,并且程序運行時會對系統資源如堆?臻g等造成壓力。函數較合理的扇出(調度函數除外)通常是3-5。扇出太大,一般是由于缺乏中間層次,可適當增加中間層次的函數。扇出太小,可把下級函數進一步分解多個函數,或合并到上級函數中。當然分解或合并函數時,不能改變要實現的功能,也不能違背函數間的獨立性。
    扇入越大,表明使用此函數的上級函數越多,這樣的函數使用效率高,但不能違背函數間的獨立性而單純地追求高扇入。公共模塊中的函數及底層函數應該有較高的扇入。 
    較良好的軟件結構通常是頂層函數的扇出較高,中層函數的扇出較少,而底層函數則扇入到公共模塊中。 
    ½6-24 :減少函數本身或函數間的遞歸調用 
    說明:遞歸調用特別是函數間的遞歸調用(如A->B->C->A),影響程序的可理解性;遞歸調用一般都占用較多的系統資源(如?臻g);遞歸調用對程序的測試有一定影響。故除非為某些算法或功能的實現方便,應減少沒必要的遞歸調用。
    ½6-25 :仔細分析模塊的功能及性能需求,并進一步細分,同時若有必要畫出有關數據流圖,據此來進行模塊的函數劃分與組織 
    說明:函數的劃分與組織是模塊的實現過程中很關鍵的步驟,如何劃分出合理的函數結構,關系到模塊的最終效率和可維護性、可測性等。根據模塊的功能圖或/及數據流圖映射出函數結構是常用方法之一。
    ½6-26 :改進模塊中函數的結構,降低函數間的耦合度,并提高函數的獨立性以及代碼可讀性、效率和可維護性 
    優化函數結構時,要遵守以下原則: 
    (1)不能影響模塊功能的實現。
    (2)仔細考查模塊或函數出錯處理及模塊的性能要求并進行完善。
    (3)通過分解或合并函數來改進軟件結構。
    (4)考查函數的規模,過大的要進行分解。
    (5)降低函數間接口的復雜度。
    (6)不同層次的函數調用要有較合理的扇入、扇出。
    (7)函數功能應可預測。
    (8)提高函數內聚。(單一功能的函數內聚最高)
    說明:對初步劃分后的函數結構應進行改進、優化,使之更為合理。 
    ½6-27 :在多任務操作系統的環境下編程,要注意函數可重入性的構造 
    說明:可重入性是指函數可以被多個任務進程調用。在多任務操作系統中,函數是否具有可重入性是非常重要的,因為這是多個進程可以共用此函數的必要條件。另外,編譯器是否提供可重入函數庫,與它所服務的操作系統有關,只有操作系統是多任務時,編譯器才有可能提供可重入函數庫。如DOS下BC和MSC等就不具備可重入函數庫,因為DOS是單用戶單任務操作系統。
    ½6-28 :避免使用BOOL 參數 
    說明:原因有二,其一是BOOL參數值無意義,TURE/FALSE的含義是非常模糊的,在調用時很難知道該參數到底傳達的是什么意思;其二是BOOL參數值不利于擴充。還有NULL也是一個無意義的單詞。
    ½6-29 : 對于提供了返回值的函數,在引用時最好使用其返回值 
    ½6-30 :當一個過程(函數)中對較長變量(一般是結構的成員)有較多引用時,可以用一個意義相當的宏代替 
    說明:這樣可以增加編程效率和程序的可讀性。 
    示例:在某過程中較多引用TheReceiveBuffer[FirstSocket].byDataPtr,
    則可以通過以下宏定義來代替: 
    # define pSOCKDATA TheReceiveBuffer[FirstScoket].byDataPtr

    延伸閱讀

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


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