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

            This blog has been shut down permanently.

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              13 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks

            簡單的說

            MyData 就是一個帕斯卡命名法
            而myData是一個駱駝命名法,它第一個單詞的第一個字母小寫,后面的單詞首字母大寫,看起來像一個駱駝
            而iMyData是一個匈牙利命名法,它的小寫的i說明了它的形態,后面的和帕斯卡命名相同,指示了該變量的用途.

             

            一、匈牙利命名法:廣泛應用于象Microsoft Windows這樣的環境中。

                   Windows 編程中用到的變量(還包括宏)的命名規則匈牙利命名法,這種命名技術是由一位 Microsoft 程序員查爾斯·西蒙尼(Charles Simonyi) 提出的。

            匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴,標識出變量的作用域,類型等。這些符號可以多個同時使用,順序是先m_(成員變量),再指針,再簡單數據類型,再其他。例如:m_lpszStr, 表示指向一個以0字符結尾的字符串的長指針成員變量。

                 匈牙利命名法關鍵是:標識符的名字以一個或者多個小寫字母開頭作為前綴;前綴之后的是首字母大寫的一個單詞或多個單詞組合,該單詞要指明變量的用途。

            匈牙利命名法中常用的小寫字母的前綴:

            前 綴        類  型
            a                數組 (Array)  
            b                布爾值 (Boolean)  
            by              字節 (Byte)  
            c               有符號字符 (Char)  
            cb             無符號字符 (Char Byte,沒有多少人用)  
            cr              顏色參考值 (ColorRef)  
            cx,cy          坐標差(長度 ShortInt)  
            dw            Double Word  
            fn               函數  
            h                 Handle(句柄)  
            i                 整型  
            l               長整型 (Long Int)  
            lp              Long Pointer  
            m_           類的成員  
            n             短整型 (Short Int)  
            np           Near Pointer  
            p             Pointer  
            s            字符串型  
            sz          以null做結尾的字符串型 (String with Zero End)  
            w         Word  


            二、駱駝命名法:

                     駱駝式命令法,正如它的名稱所表示的那樣,是指混合使用大小寫字母來構成變量和函數的名字。例如,下面是分別用駱駝式命名法和下劃線法命名的同一個函數:

                printEmployeePaychecks();

                 print_employee_paychecks();

                  第一個函數名使用了駱駝式命名法——函數名中的每一個邏輯斷點都有一個大寫字母來標記;第二個函數名使用了下劃線法----函數名中的每一個邏輯斷點都有一個下劃線來標記。

                 駱駝式命名法近年來越來越流行了,在許多新的函數庫和Microsoft
            Windows這樣的環境中,它使用得當相多。另一方面,下劃線法是c出現后開始流行起來的,在許多舊的程序和UNIX這樣的環境中,它的使用非常普遍。


            三、帕斯卡(pascal)命名法:

                    與駱駝命名法類似。只不過駱駝命名法是首字母小寫,而帕斯卡命名法是首字母大寫

                    如:public void
            DisplayInfo();

                           string UserName;

                           二者都是采用了帕斯卡命名法.


            在C#中,以帕斯卡命名法和駱駝命名法居多。

            轉自http://www.zouyang.net/post/219.html

            posted on 2010-03-11 13:21 iZ 閱讀(2320) 評論(5)  編輯 收藏 引用 所屬分類: 『Software Engineering』

            評論

            # re: 駱駝命名法,帕斯卡命名法和匈牙利命名法 2010-03-12 10:44 iSsay
            PS:
            The Microsoft naming conventions suggest using camel notation (initial lowercase such as someName) for variable names and Pascal notation (initial uppercase such as SomeOtherName) for method names and most other identifiers.

            Microsoft no longer recommends using Hungarian notation (e.g., iSomeInteger) or underscores (e.g., Some_Value).  回復  更多評論
              

            # re: 駱駝命名法,帕斯卡命名法和匈牙利命名法 2010-03-12 11:16 陳梓瀚(vczh)
            原本匈牙利命名法,并不是按照變量的“聲明類型”,而是變量的“實際類型”來命名的。

            錯誤:
            char* pszName = "旺財";
            Person* person=new Person;
            person->pszName = pszName;

            正確:
            char* dogName = "旺財";
            Person* person=new Person;
            person->name = dogName;  回復  更多評論
              

            # re: 駱駝命名法,帕斯卡命名法和匈牙利命名法 2010-03-12 16:44 iSsay
            @陳梓瀚(vczh)

            不存在你所說的問題。匈牙利命名法有兩種:系統匈牙利命名法和匈牙利應用命名法。所以兩種辦法怎么用,主要看個人習慣咯。

            現在微軟已不提倡使用匈牙利命名法,所以沒有太多討論的價值。而駱駝法多使用在變量命名上,帕斯卡多使用于方法函數、及其他標識符。

            話說回來你的例子有點荒誕(最后一行)  回復  更多評論
              

            # re: 駱駝命名法,帕斯卡命名法和匈牙利命名法 2010-03-12 17:37 陳梓瀚(vczh)
            @iSsay
            這正是這種命名法的好處嘛,一看就知道有沒有寫錯。  回復  更多評論
              

            # re: 駱駝命名法,帕斯卡命名法和匈牙利命名法 2010-03-22 16:45 iSsay
            @陳梓瀚(vczh)
            呵呵,也對。
            目前,有駱駝和帕斯卡命名法已完全夠用了。
            駱駝法用于變量,例如:someVariety
            帕斯卡用于方法、其他標識符,例如:SomeMethod
            命名的時候最好使用Verb+Noun的形式
            簡單直觀一目了然  回復  更多評論
              

            无码久久精品国产亚洲Av影片| 亚洲精品国产成人99久久| 久久精品亚洲中文字幕无码麻豆| 久久人与动人物a级毛片| 狠狠色伊人久久精品综合网| 久久无码人妻一区二区三区午夜| 久久九九久精品国产免费直播| 国产亚州精品女人久久久久久 | 国产91色综合久久免费| 日韩AV无码久久一区二区| 香港aa三级久久三级老师2021国产三级精品三级在 | 99久久99久久精品国产片| 亚洲综合久久夜AV | 亚洲国产成人久久精品影视| 狠狠色丁香久久婷婷综合五月 | 久久国产成人| 91精品国产91热久久久久福利| 久久av无码专区亚洲av桃花岛| 亚洲欧美伊人久久综合一区二区 | 精品久久久无码21p发布| 一本色道久久88综合日韩精品 | 日韩久久久久久中文人妻| 97精品伊人久久久大香线蕉 | 成人久久综合网| 人妻少妇久久中文字幕 | 狠狠综合久久AV一区二区三区| 亚洲精品无码久久久影院相关影片| 伊人久久大香线蕉精品| 欧美与黑人午夜性猛交久久久| 国产亚州精品女人久久久久久| 色综合久久中文字幕综合网| 91超碰碰碰碰久久久久久综合| 久久国产综合精品五月天| 中文字幕人妻色偷偷久久| 91精品无码久久久久久五月天| 国产精品亚洲综合久久| 久久免费的精品国产V∧| 久久久精品久久久久特色影视| 精品伊人久久久| 久久99国产一区二区三区| 久久国产精品偷99|