• <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>

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            CGL編碼規范V1.0

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

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

             

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

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

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

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

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

            8.不可忽略編譯時的警告信息,如果在操作中需要強制轉換的要明確寫出來,不應依賴于編譯器隱式的轉換。

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


              
             




             

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

            評論

            # re: CGL編碼規范V1.0  回復  更多評論   

            文檔建議考慮用 Doxygen
            http://www.stack.nl/~dimitri/doxygen/
            2007-04-29 03:57 | 8pm
            久久亚洲国产欧洲精品一| 久久国产色AV免费观看| 99久久国产宗和精品1上映| 2020最新久久久视精品爱| 久久综合国产乱子伦精品免费| 欧美激情精品久久久久久久九九九| 国产精品久久久久久久久鸭| 婷婷五月深深久久精品| 久久精品中文字幕一区| 久久久久国产精品嫩草影院| 奇米影视7777久久精品人人爽| 久久久网中文字幕| 日本精品久久久久影院日本| 久久亚洲精品无码播放| 久久成人小视频| 伊人久久大香线蕉av不卡| 性欧美丰满熟妇XXXX性久久久 | 韩国免费A级毛片久久| 亚洲AV无码1区2区久久| 国产精品久久久亚洲| 精品熟女少妇a∨免费久久| 国产精品久久久久久福利漫画| 精品久久香蕉国产线看观看亚洲| 99久久国产综合精品成人影院 | 色老头网站久久网| 伊人久久大香线蕉亚洲五月天| 久久A级毛片免费观看| 99久久无码一区人妻| 精品久久久久久久久免费影院| 久久人人爽人人爽人人片av高请| 久久久精品人妻一区二区三区四| 久久se精品一区二区| 久久亚洲精品无码播放| 久久精品无码专区免费青青| 国产午夜精品久久久久九九| 97视频久久久| 久久精品国产亚洲欧美| 久久午夜夜伦鲁鲁片免费无码影视 | 久久久这里只有精品加勒比| 国产成人精品久久一区二区三区| 久久久久国产亚洲AV麻豆|