• <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>
            C++分析研究  
            C++
            日歷
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567
            統計
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            在編寫代碼的過程中所采用的命名方式經常變動,沒有形成固定的風格。因此,根據從網上收集到的一些資料以及自身的一些經驗,對C++、Java以及C#的命名規范進行了總結,方便以后查詢。

            命名規范的原則:

             盡量采用以前采用過的命名規則;

            盡量在三種語言下采用相同的命名規則,以方便記憶;

            盡量采用來自官方(如Sun、MS)的命名規則。

            1. 匈牙利命名法、Camel命名法與Pascal命名法

            匈牙利命名法:在Windows編程中使用非常普遍,由微軟的一位匈牙利程序員提出。匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴,標識出變量的作用域、類型等。例如,m_lpszStr表示指向一個以0字符結尾的字符串的長指針成員變量。在面向對象的程序設計中匈牙利命名法使用起來非常別扭。

            Camel命名法:即駱駝式命名法,原因是采用該命名法的名稱看起來就像駱駝的駝峰一樣高低起伏。Camel命名法有兩種形式:混合使用大小寫字母和單詞之間加下劃線,例如runFast和run_fast都屬于Camel命名法。

            Pascal命名法:與Camel命名法類似,不過Pascal命名法的首字母為大寫字母。

            2. 命名規范對照表

            標識符類型

            C++

            Java

            C#

            文件名

            與類名相同,定義類是文件名一般成對出現,如FooBar.h和FooBar.cpp對應類FooBar。

            與類名相同。

            同Java。

            名字空間、包

            同C#。

            包名的前綴是全部小寫的ASII字符并且是一個頂級域名,通常是com,edu,gov,net,org。包名的后續部分根據不同機構各自內部的命名規范不盡相同,這類命名規范可能以特定目錄名的組成來區分部門、項目、機器或注冊名。

            示例:

              l com.sun.eng

              l  com..quicktime.v2

              l  edu.cmu.cs.bovik.cheese

            Pascal命名法,且從表示范圍大的名字開始。

            示例:

              l  Oracle.Data.Access;

              l  Microsoft.Office.Excel;

            枚舉值

            Pascal命名法,枚舉值前面加上枚舉類型名,中間以下劃線“_”隔開。

            示例:

              l enum  ColorColor_Red, Color_Green;

            Pascal命名法。

            示例:

              l enum ColorRed,  Green;

            同Java。

            類、結構體、類型定義(typedef)、枚舉類型

            同Java。

            Pascal命名法。

            示例:

              l class  Raster;

              l class  ImageSprite;

            同Java。

            接口

            與類型命名規范相同。

            命名規則與類名相似。

            示例:

              l interface  RasterDelegate;

              l interface  Storing;

            Pascal命名法,前面需要加上字符“I”。

            示例:

              l interface  ITester;

              l interface  ILogger;

            方法

            同C#。

            Camel命名法。

            示例:

              l run();

              l runFast();

              l  getBackGround();

            Pascal命名法。

            示例:

              l Run();

              l RunFast();

              l  GetBackGround();

            方法內的變量及參數

            同Java。

            Camel命名法。

            示例:

              l int  myWidth;

              l int  taxTotal;

            同Java。

            私有、保護實例字段

            同Java。

            Camel命名法,前面需要加一個下劃線“_”。

            示例:

              l int  _employeeId;

              l String  _name;

              l Customer  _customer;

            同Java。

            屬性、存取函數

            Pascal命名法,讀取函數前面加上“Get”,設置函數前面加上“Set”。

            示例:

              l  GetEmployeeId();

              l SetName();

              l  GetCustomer();

            Camel命名法,讀取函數前面加上“get”,設置函數前面加上“set”。

            示例:

              l  getEmployeeId();

              l setName();

              l  getCustomer();

            與方法命名規則相同,應該與字段名稱相同。建議采用自動屬性。

            示例:

            常量

            同Java。

            全部大寫,單詞間用下劃線隔開。

            示例:

              l static final  int MIN_WIDTH = 4;

              l static final  int MAX_WIDTH = 999;

              l static final  int GET_THE_CPU = 1;

            同Java。

            事件

            Pascal命名法。

            示例:

              l  FormClosing;

              l  ValueChanged;

              l  ButtonClicked;

            異常類型

            繼承自std::exception,與類型命名規則相同,且以Exception結尾。

            繼承自java.lang.Exception,與類型命名規則相同,且以Exception結尾。

            繼承自System.Exception,與類型命名規則相同,且以Exception結尾。

            www.haokan118.cn

            www.haosoa.cn

            www.baidulai.com

            posted on 2009-05-23 22:31 HAOSOLA 閱讀(195) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            日产精品99久久久久久| 天天做夜夜做久久做狠狠| 亚洲成色www久久网站夜月| 亚洲乱码中文字幕久久孕妇黑人| 亚洲精品无码久久久久久| 久久国产一区二区| 武侠古典久久婷婷狼人伊人| 久久66热人妻偷产精品9| 久久国产免费直播| 91精品国产91久久久久福利| 婷婷久久精品国产| 国产高潮国产高潮久久久91 | 99国产精品久久| 国内精品久久久久影院老司| 国产精品对白刺激久久久| 国内精品久久国产| 久久九九久精品国产免费直播| 亚洲中文精品久久久久久不卡| 久久WWW免费人成—看片| 麻豆AV一区二区三区久久| 久久亚洲国产精品成人AV秋霞| 亚洲午夜久久久精品影院| 久久精品国产亚洲AV电影 | 伊人久久综合无码成人网| 国产成人久久777777| A狠狠久久蜜臀婷色中文网| 久久久精品国产免大香伊| 久久精品国产欧美日韩| 国内精品久久久久久久涩爱| 久久久久久久尹人综合网亚洲| 久久人人妻人人爽人人爽| 国内精品伊人久久久久妇| 2021国产精品午夜久久 | 久久99久久99精品免视看动漫| 免费无码国产欧美久久18| 伊人色综合久久天天网| 亚洲国产成人精品91久久久| 亚洲?V乱码久久精品蜜桃 | 亚洲精品无码久久毛片| 伊人久久大香线蕉精品不卡| 97香蕉久久夜色精品国产|