• <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 | 查看: 471次 | 進入軟件測試論壇討論

    領測軟件測試網


    ½6-7 :盡量不要編寫依賴于其他函數內部實現的函數 
    說明:此條為函數獨立性的基本要求。由于目前大部分高級語言都是結構化的,所以通過具體語言的語法要求與編譯器功能,基本就可以防止這種情況發生。但在匯編語言中,由于其靈活性,很可能使函數出現這種情況。 
    示例:如下是在DOS下TASM的匯編程序例子。過程Print_Msg的實現依賴于Input_Msg的具體實現,這種程序是非結構化的,難以維護、修改。
    ...  // 程序代碼
    proc Print_Msg // 過程(函數)Print_Msg
        ...  // 程序代碼
        jmp  LABEL
        ...  // 程序代碼
    endp
    proc Input_Msg // 過程(函數)Input_Msg
        ...  // 程序代碼
    LABEL:
        ...  // 程序代碼
    endp
    ½6-8 :避免設計多參數函數,不使用的參數從接口中去掉 
    說明:目的減少函數間接口的復雜度。 
    ½6-9 :非調度函數應減少或防止控制參數,盡量只使用數據參數 
    說明:本建議目的是防止函數間的控制耦合。調度函數是指根據輸入的消息類型或控制命令,來啟動相應的功能實體(即函數或過程),而本身并不完成具體功能?刂茀凳侵父淖兒瘮倒δ苄袨榈膮,即函數要根據此參數來決定具體怎樣工作。非調度函數的控制參數增加了函數間的控制耦合,很可能使函數間的耦合度增大,并使函數的功能不唯一。 
    示例:如下函數構造不太合理。 
    int add_sub( int a, int b, unsigned char add_sub_flg )
    {
        if (add_sub_flg == INTEGER_ADD)
        {
            return (a + b);
        }
        else
        {
            return (a  b);
        }
    }
    不如分為如下兩個函數清晰。 
    int add( int a, int b )
    {
        return (a + b);
    }
    int sub( int a, int b ) 
    {
        return (a  b);
    }
    ½6-10 :檢查函數所有參數輸入的有效性 
    ½6-11 :檢查函數所有非參數輸入的有效性,如數據文件、公共變量等 
    說明:函數的輸入主要有兩種:一種是參數輸入;另一種是全局變量、數據文件的輸入,即非參數輸入。函數在使用輸入之前,應進行必要的檢查。 
    ½6-12 :函數名應準確描述函數的功能 
    ½6-13 :使用動賓詞組為執行某操作的函數命名。如果是OOP 方法,可以只有動詞(名詞是對象本身) 
    示例:參照如下方式命名函數。 
    void print_record( unsigned int rec_ind ) ;
    int  input_record( void ) ;
    unsigned char get_current_color( void ) ;
    建議6-14 :避免使用無意義或含義不清的動詞為函數命名 
    說明:避免用含義不清的動詞如process、handle等為函數命名,因為這些動詞并沒有說明要具體做什么。
    建議6-15 :函數的返回值要清楚、明了,讓使用者不容易忽視錯誤情況 
    說明:函數的每種出錯返回值的意義要清晰、明了、準確,防止使用者誤用、理解錯誤或忽視錯誤返回碼。 
    ½6-16 :除非必要,最好不要把與函數返回值類型不同的變量,以編譯系統默認的轉換方式或強制的轉換方式作為返回值返回 
    ½6-17 :讓函數在調用點顯得易懂、容易理解 
    ½6-18 :在調用函數填寫參數時,應盡量減少沒有必要的默認數據類型轉換或強制數據類型轉換 
    說明:因為數據類型轉換或多或少存在危險。 
    ½6-19 :避免函數中不必要語句,防止程序中的垃圾代碼 
    說明:程序中的垃圾代碼不僅占用額外的空間,而且還常常影響程序的功能與性能,很可能給程序的測試、維護等造成不必要的麻煩。 
    ½6-20 :防止把沒有關聯的語句放到一個函數中 
    說明:防止函數或過程內出現隨機內聚。隨機內聚是指將沒有關聯或關聯很弱的語句放到同一個函數或過程中。隨機內聚給函數或過程的維護、測試及以后的升級等造成了不便,同時也使函數或過程的功能不明確。使用隨機內聚函數,常常容易出現在一種應用場合需要改進此函數,而另一種應用場合又不允許這種改進,從而陷入困境。 
    在編程時,經常遇到在不同函數中使用相同的代碼,許多開發人員都愿把這些代碼提出來,并構成一個新函數。若這些代碼關聯較大并且是完成一個功能的,那么這種構造是合理的,否則這種構造將產生隨機內聚的函數。 

    延伸閱讀

    文章來源于領測軟件測試網 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>