C/C++命名風格

來源:互聯網
上載者:User

存在C/C++中的四種命名風格:

帕斯卡(Pascal)命名法

    首字母和後面串連的每個單詞的首字母都大寫。

    例如: MyName

駱駝(Camel)命名法

    將標識符的首字母小寫,而每個後面串連的單詞的首字母都大寫。

    例如:myName

匈牙利命名法 

    以一個或者多個小寫字母開頭作為首碼;首碼之後的是首字母大寫的一個單詞或多個單片語合,該單詞要指明變數的用途。

   例如:iMyName

UNIX命名法

   K&R命名法是所有標示符的字母小寫,單詞之間通過底線分割

   例如:my_name

第一種風格和第三種風格是MFC或者說MS的程式員大量使用的風格,他們會還會在全域變數前加g_,在成員變數前加m_;

第二種風格是物件導向語言所使用的風格;

第四種風格是很多Unix/Linux程式員所使用的風格,包括STL、boost庫、Linux系統都使用這種風格,私人成員函數前面會加_。

我自己的風格更傾向與第二種風格,為什麼呢?如果我們大量定義了自己的類型,那我們使用匈牙利命名法就會遇到麻煩,會出現很多的重名首碼,如果我們只是去標示原始類型那代碼會產生混亂,這樣的價值標示的價值也不再存在。我們使用帕斯卡法來命名了類,再去用帕斯卡命名成員或者成員函數會混淆類和普通成員之間的區別。個人的風格如下:

  • 命名空間:使用全小寫
  • 類:使用帕斯卡命名法
  • 成員函數和資料成員:使用駝峰命名法,區別局部變數和參數的時添加this指標表明
  • 命名時使用單詞的全稱而不是簡寫。

更重要的是我們所處的開發平台和環境也決定了我們的代碼風格和命名風格,如果你去做linux kernel開發那就使用Linux kernel風格吧,如果你是用Qt來做開發,那你就使用Qt代碼所使用的風格。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.