浙江福彩3d走势图
我們來自五湖四海,不為別的,只因有共同的愛好,為中國互聯網發展出一分力!

關于編程風格的討論

2013年04月28日03:40 閱讀: 1576 次

     **軟件公司軟件開發規范
    (試行版)
    在公司團隊協作開發的情況下,編程時應該強調的一個重要方面是程序的易讀性,在保證軟件的速度等性能指標能滿足用戶需求的情況下,能讓其他程序員容易讀懂你的程序。一套鮮明的編程風格,可以讓協作者、后繼者和自己一目了然,在很短的時間內看清程序的結構,理解設計的思路。大大的提高代碼的可讀性、可重用性、程序健壯性、可移植性和可維護性。
    制定本編程規范的目的是為了提高公司的軟件開發效率及所開發的軟件的可維護性,提高軟件的質量。本規范由程序風格、命名規則、注釋規范、程序健壯性、可移植性、錯誤處理以及軟件的模塊化規范等部分組成。

    一、程序風格:
    1、嚴格采用階梯層次組織程序代碼:
    各層次縮進的分格采用VC的缺省風格,即每層次縮進為4格,括號位于下一行。要求相匹配的大括號在同一列,對繼行則要求再縮進4格。例如:
    void main()
    {
    ......
    long lI; //循環變量
    long lSum;//用來記錄和
    float fAvg;//用來求平均值
    ......
    //對數進行累加。
    for( lI=0;lI<10;lI++)
    {
    lSum=lSum+lI;
    ...... }
    //求平均值。
    fAvg=lSum/10.0;
    ......
    }

    2、提示信息字符串的位置
    在程序中需要給出的提示字符串,為了支持多種語言的開發,除了一些給調試用的臨時信息外,其他所有的提示信息必須定義在資源中。
    3、對變量的定義,盡量位于函數的開始位置。
    二、命名規則:
    1、變量名的命名規則
    ①、變量的命名規則要求用“匈牙利法則”。即開頭字母用變量的類型,其余部分用變量的英文意思或其英文意思的縮寫,盡量避免用中文的拼音,要求單詞的第一個字母應大寫。
    即: 變量名=變量類型+變量的英文意思(或縮寫)
    對非通用的變量,在定義時加入注釋說明,變量定義盡量可能放在函數的開始處。
    見下表:
    bool(BOOL) 用b開頭 bIsParent
    byte(BYTE) 用by開頭 byFlag
    short(int) 用n開頭 nStepCount
    long(LONG) 用l開頭 lSum
    char(CHAR) 用c開頭 cCount
    float(FLOAT) 用f開頭 fAvg
    double(DOUBLE) 用d開頭 dDeta
    void(VOID) 用v開頭 vVariant
    unsigned short(Word) 用w開頭 wCount
    unsigned long(DWORD) 用dw開頭 dwBroad
    HANDLE(HINSTANCE) 用h開頭 hHandle

    DWORD 用dw開頭 dwWord
    LPCSTR(LPCTSTR) 用str開頭 strString
    用0結尾的字符串 用sz開頭 szFileName

    對未給出的變量類型要求提出并給出命名建議給技術委員會。

    ②、指針變量命名的基本原則為:
    對一重指針變量的基本原則為:
    “p”+變量類型前綴+命名
    如一個float*型應該表示為pfStat
    對多重指針變量的基本規則為:
    二重指針: “pp”+變量類型前綴+命名
    三重指針: “ppp”+變量類型前綴+命名
    ......
    ③、全局變量用g_開頭,如一個全局的長型變量定義為g_lFailCount,即:變量名=g_+變量類型+變量的英文意思(或縮寫)
    ④、靜態變量用s_開頭,如一個靜態的指針變量定義為s_plPerv_Inst,即: 變量名=s_+變量類型+變量的英文意思(或縮寫)
    ⑤、成員變量用m_開頭,如一個長型成員變量定義為m_lCount;即:變量名=m_+變量類型+變量的英文意思(或縮寫)
    ⑥、對枚舉類型(enum)中的變量,要求用枚舉變量或其縮寫做前綴。并且要求用大寫。
    如:enum cmEMDAYS
    {
    EMDAYS_MONDAY;
    EMDAYS_TUESDAY;
    ……
    };
    ⑦、對strUCt、union、class變量的命名要求定義的類型用大寫。并要加上前綴,其內部變量的命名規則與變量命名規則一致。
    結構一般用S開頭
    如:struct ScmNPoint
    {
    int nX;//點的X位置
    int nY; //點的Y位置
    };
    聯合體一般用U開頭
    如: union UcmLPoint
    {
    long lX;
    long lY;
    }
    類一般用C開頭
    如:
    class CcmFPoint
    {
    public:
    float fPoint;
    };
    對一般的結構應該定義為類模板,為以后的擴展性考慮
    如:
    template <class TYPE>
    class CcmTVector3d
    {
    public:
    TYPE x,y,z;
    };
    ⑧、對常量(包括錯誤的編碼)命名,要求常量名用大寫,常量名用英文表達其意思。
    如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示類別。
    ⑨、對const 的變量要求在變量的命名規則前加入c_,即:c_+變量命名規則;例如:
    const char* c_szFileName;
    2、 函數的命名規范:
    函數的命名應該盡量用英文表達出函數完成的功能。遵循動賓結構的命名法則,函數名中動詞在前,并在命名前加入函數的前綴,函數名的長度不得少于8個字母。

[1] [2] [3] 下一頁

分享到: 更多
藍客門戶
©2001-2019 中國藍客聯盟 版權所有.
關于藍客聯盟歷史宗旨章程技術服務聯系我們藍客社區

浙江福彩3d走势图 波尔多拉菲 黄金工厂电子 北京到弗赖堡机票 皇家贝蒂斯vs西班牙人 qq飞车吧 吉林11选5开奖结果 内蒙古11选5前3组 圣诞乐村官网 秘密行动彩金 塔什干火车头vs阿尔希拉尔