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

    領測軟件測試網


    ½5-7 :仔細設計結構中元素的布局與排列順序,使結構容易理解、節省占用空間,并減少引起誤用現象 
    說明:合理排列結構中元素順序,可節省空間并增加可理解性。 
    示例:如下結構中的位域排列,將占較大空間,可讀性也稍差。 
    typedef struct EXAMPLE_STRU
    {
        unsigned int valid: 1;
        PERSON person;
        unsigned int set_flg: 1;
    } EXAMPLE;
    若改成如下形式,不僅可節省1字節空間,可讀性也變好了。
    typedef struct EXAMPLE_STRU
    {
        unsigned int valid: 1;
        unsigned int set_flg: 1;
        PERSON person ;
    } EXAMPLE;
    ½5-8 :結構的設計要盡量考慮向前兼容和以后的版本升級,并為某些未來可能的應用保留余地(如預留一些空間等) 
    說明:軟件向前兼容的特性,是軟件產品是否成功的重要標志之一。如果要想使產品具有較好的前向兼容,那么在產品設計之初就應為以后版本升級保留一定余地,并且在產品升級時必須考慮前一版本的各種特性。 
    ½5-9 :留心具體語言及編譯器處理不同數據類型的原則及有關細節 
    說明:如在C語言中,static局部變量將在內存“數據區”中生成,而非static局部變量將在“堆!敝猩。這些細節對程序質量的保證非常重要。
      
    ½5-10 :編程時,要注意數據類型的強制轉換 
    說明:當進行數據類型強制轉換時,其數據的意義、轉換后的取值等都有可能發生變化,而這些細節若考慮不周,就很有可能留下隱患。 
    ½5-11 :對編譯系統默認的數據類型轉換,也要有充分的認識 
    示例:如下賦值,多數編譯器不產生告警,但值的含義還是稍有變化。 
    char chr;
    unsigned short int exam;
    chr = -1;
    exam = chr; // 編譯器不產生告警,此時exam為0xFFFF。
    ½5-12 :盡量減少沒有必要的數據類型默認轉換與強制轉換 
    ½5-13 :合理地設計數據并使用自定義數據類型,避免數據間進行不必要的類型轉換 
    ½5-14 :對自定義數據類型進行恰當命名,使它成為自描述性的,以提高代碼可讀性。注意其命名方式在同一產品中的統一 
    說明:使用自定義類型,可以彌補編程語言提供類型少、信息量不足的缺點,并能使程序清晰、簡潔。 
    示例:可參考如下方式聲明自定義數據類型。 
    下面的聲明可使數據類型的使用簡潔、明了。 
    typedef unsigned char  BYTE;
    typedef unsigned short WORD;
    typedef unsigned int   DWORD;
    下面的聲明可使數據類型具有更豐富的含義。 
    typedef float DISTANCE;
    typedef float SCORE;
    ½5-15 :當聲明用于分布式環境或不同CPU 間通信環境的數據結構時,必須考慮機器的字節順序、使用的位域及字節對齊等問題 
    說明:比如Intel CPU與68360 CPU,在處理位域及整數時,其在內存存放的“順序”正好相反。
    示例:假如有如下短整數及結構。 
    unsigned short int exam;
    typedef struct EXAM_BIT_STRU
    {                       /* Intel 68360 */
        unsigned int A1: 1; /* bit  0      7   */
        unsigned int A2: 1; /* bit  1      6   */
        unsigned int A3: 1; /* bit  2      5   */
    } EXAM_BIT;
    如下是Intel CPU生成短整數及位域的方式。

    延伸閱讀

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