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

    領測軟件測試網


    ½8-12 :不要一味追求緊湊的代碼 
    說明:因為緊湊的代碼并不代表高效的機器碼。 
    〔九〕 =====[ 質量保證 ]===== 
    ¹9-1 :在軟件設計過程中構筑軟件質量 
    ¹9-2 :代碼質量保證優先原則 
         (1)正確性,指程序要實現設計要求的功能。
         (2)穩定性、安全性,指程序穩定、可靠、安全。
         (3)可測試性,指程序要具有良好的可測試性。
         (4)規范/可讀性,指程序書寫風格、命名規則等要符合規范。
         (5)全局效率,指軟件系統的整體效率。
         (6)局部效率,指某個模塊/子模塊/函數的本身效率。
         (7)個人表達方式/個人方便性,指個人編程習慣。
    ¹9-3 :只引用屬于自己的存貯空間 
    說明:若模塊封裝的較好,那么一般不會發生非法引用他人的空間。 
    ¹9-4 :防止引用已經釋放的內存空間 
    說明:在實際編程過程中,稍不留心就會出現在一個模塊中釋放了某個內存塊(如C語言指針),而另一模塊在隨后的某個時刻又使用了它。要防止這種情況發生。
    ¹9-5 :過程/ 函數中分配的內存,在過程/ 函數退出之前要釋放 
    ¹9-6 :過程/ 函數中申請的(為打開文件而使用的)文件句柄,在過程/ 函數退出之前要關閉 
    說明:分配的內存不釋放以及文件句柄不關閉,是較常見的錯誤,而且稍不注意就有可能發生。這類錯誤往往會引起很嚴重后果,且難以定位。 
    示例:下函數在退出之前,沒有把分配的內存釋放。 
    typedef unsigned char BYTE;
    int example_fun( BYTE gt_len, BYTE *gt_code )
    {
        BYTE *gt_buf;
        gt_buf = (BYTE *) malloc (MAX_GT_LENGTH);
        ...  //program code, include check gt_buf if or not NULL.
        /* global title length error */
        if (gt_len > MAX_GT_LENGTH)
        {
            return GT_LENGTH_ERROR; // 忘了釋放gt_buf
        }
        ...  // other program code
    }
    應改為如下。 
    int example_fun( BYTE gt_len, BYTE *gt_code )
    {
        BYTE *gt_buf;
        gt_buf = (BYTE * ) malloc ( MAX_GT_LENGTH );
        ...  // program code, include check gt_buf if or not NULL.
        /* global title length error */
        if (gt_len > MAX_GT_LENGTH)
        {
            free( gt_buf  ); // 退出之前釋放gt_buf
            return GT_LENGTH_ERROR;  
        }
        ...  // other program code
    }
    ¹9-7 :防止內存操作越界 
    說明:內存操作主要是指對數組、指針、內存地址等的操作。內存操作越界是軟件系統主要錯誤之一,后果往往非常嚴重,所以當我們進行這些操作時一定要仔細小心。 
    示例:假設某軟件系統最多可由10個用戶同時使用,用戶號為1-10,那么如下程序存在問題。
    #define MAX_USR_NUM 10
    unsigned char usr_login_flg[MAX_USR_NUM]= "";
    void set_usr_login_flg( unsigned char usr_no )
    {
        if (!usr_login_flg[usr_no])
        {
            usr_login_flg[usr_no]= TRUE;
        }
    }
    當usr_no為10時,將使用usr_login_flg越界?刹捎萌缦路绞浇鉀Q。
    void set_usr_login_flg( unsigned char usr_no )
    {
        if (!usr_login_flg[usr_no - 1])
        {
            usr_login_flg[usr_no - 1]= TRUE;
        }
    }

    延伸閱讀

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