• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            那誰(shuí)的技術(shù)博客

            感興趣領(lǐng)域:高性能服務(wù)器編程,存儲(chǔ),算法,Linux內(nèi)核
            隨筆 - 210, 文章 - 0, 評(píng)論 - 1183, 引用 - 0
            數(shù)據(jù)加載中……

            CGL編碼規(guī)范V1.0

            之前雖然在寫代碼的時(shí)候自己心中有一個(gè)編碼的規(guī)范,但是畢竟沒有述之文字,現(xiàn)在回頭看了看發(fā)現(xiàn)還是有很多地方不夠規(guī)范的,花了一個(gè)晚上掃了一下原有的代碼,制定出這個(gè)規(guī)范,畢竟是寫出來白紙黑字的,以后有依可循,這并不是最后的規(guī)范版本,我把它命名為V1.0,會(huì)根據(jù)需要不斷的補(bǔ)充完善,并且會(huì)check in到SF的SVN中去,有可能的話再寫一份E文版的規(guī)范,而每次對(duì)規(guī)范的補(bǔ)充完善相應(yīng)的都會(huì)進(jìn)行對(duì)代碼的重構(gòu)。

            這是一個(gè)好的習(xí)慣,希望我以后不管是作商業(yè)上的開發(fā)還是自己下面作著玩兒寫的代碼都按照這些流程走下來,我相信,好的習(xí)慣和風(fēng)格會(huì)帶來很多積極的影響。

             

            CGL編碼命名規(guī)范V1.0(2007-04-29)

            1.變量命名采用匈牙利命名法,如下:
            1)整型變量加前綴n
            2)指針變量加前綴p
            3)自定義也就是typedef聲明的新類型變量加前綴t,而這些類型的定義后面加_t后綴,如iter_t
            4)char類型加前綴c,char數(shù)組加類型sz
            5)變量的命名一般為以上的前綴加上相應(yīng)的描述名詞,同時(shí)名詞第一個(gè)字母大寫,如piterator_t pIter

            2.宏一律大寫,并且加上前綴CGL_

            3.函數(shù)名稱加前綴cgl_,如果是某類型的接口函數(shù)加上類型名稱,其后命名基本參照對(duì)應(yīng)的STL中函數(shù)的命名,
                如cgl_list_clear與STL中l(wèi)ist容器的clear函數(shù)對(duì)應(yīng)
                但是還需要注意的是,如果是在某個(gè)文件中的static函數(shù),也就是外部不能使用的函數(shù),前綴改為cgls_
                而對(duì)于某個(gè)結(jié)構(gòu)體內(nèi)定義的函數(shù)指針類型不需要加上cgl前綴,只需要對(duì)函數(shù)功能進(jìn)行說明就可以了,一般為
                動(dòng)詞
            +名詞的形式命名。
                如iterator中的函數(shù)指針    data_t                    (
            *get_value)(piterator_t pIter);就是得到這個(gè)iterator
                值的函數(shù)。
                
                有了這個(gè)規(guī)則,那些在CGL中出現(xiàn)的沒有這些前綴的函數(shù)都是C庫(kù)中提供的庫(kù)函數(shù)。
                
            4.進(jìn)行比較操作時(shí)把常量放在比較操作符左邊,如if(NULL != pIter)

            5.自定義的數(shù)據(jù)類型以及結(jié)構(gòu)體的命名習(xí)慣為描述該類型的名詞 + "_t",如iterator_t,如果是指向該類型
              變量的指針類型則在前面加上p前綴,如piterator_t
              
            6.頭文件中為防止重復(fù)包含所聲明的宏命名規(guī)范為該頭文件的去掉".h"后綴之后的文件名再加上"_H"后綴,
                同時(shí)這個(gè)組合的前后都要加上
            "__",如cgl_commondef.h頭文件中的宏為__CGL_COMMONDEF_H__
                
            7.每個(gè)文件都要以“CGL_BEGIN”開始,以“CGL_END”結(jié)尾

            8.不可忽略編譯時(shí)的警告信息,如果在操作中需要強(qiáng)制轉(zhuǎn)換的要明確寫出來,不應(yīng)依賴于編譯器隱式的轉(zhuǎn)換。

            9.文件的命名為cgl_前綴加上該文件的描述,一般的,這個(gè)后綴與STL中對(duì)應(yīng)的文件名相同,如STL中的list文件
              其在CGL中的對(duì)應(yīng)頭文件就是cgl_list.h,c文件就是cgl_list.c
              
            10.所有函數(shù)的定義前面一律加上對(duì)函數(shù)功能,輸入,輸出參數(shù)的注釋說明  


              
             




             

            posted on 2007-04-28 23:48 那誰(shuí) 閱讀(1096) 評(píng)論(1)  編輯 收藏 引用 所屬分類: CGL

            評(píng)論

            # re: CGL編碼規(guī)范V1.0  回復(fù)  更多評(píng)論   

            文檔建議考慮用 Doxygen
            http://www.stack.nl/~dimitri/doxygen/
            2007-04-29 03:57 | 8pm
            99久久国产亚洲综合精品| 久久播电影网| 综合人妻久久一区二区精品| 中文字幕久久精品无码| 99久久超碰中文字幕伊人| 99久久精品这里只有精品| 人妻无码精品久久亚瑟影视| 久久国产色AV免费观看| 国产视频久久| 丁香五月网久久综合| 久久人妻少妇嫩草AV无码蜜桃| 性欧美大战久久久久久久久| 久久九九久精品国产免费直播| 人妻精品久久无码专区精东影业| 国产ww久久久久久久久久| 亚洲日本va中文字幕久久| 精品国产婷婷久久久| 国内精品久久人妻互换| 久久久国产打桩机| 亚洲国产婷婷香蕉久久久久久| 久久99国产精品久久99果冻传媒| 久久婷婷午色综合夜啪| 久久精品?ⅴ无码中文字幕| 精品久久久久久久久中文字幕| 久久精品人妻中文系列| 久久天天日天天操综合伊人av| 久久精品成人免费看| 97久久香蕉国产线看观看| 久久夜色精品国产亚洲| 成人综合久久精品色婷婷| 久久影视综合亚洲| 久久亚洲天堂| 久久久受www免费人成| 午夜精品久久久久久影视777| 99久久精品免费看国产| 久久久精品波多野结衣| 亚洲人成无码www久久久| 久久亚洲AV成人无码软件| 伊人久久大香线蕉综合网站| 亚洲国产精品嫩草影院久久| 日韩久久无码免费毛片软件|