• <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年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456
            統計
            • 隨筆 - 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 閱讀(199) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            亚洲AV日韩AV永久无码久久| 久久精品国产亚洲AV麻豆网站 | 久久精品国产亚洲av麻豆色欲| 久久精品亚洲男人的天堂| 久久99热这里只有精品66| 久久99精品久久久久久久久久| 99久久精品国产免看国产一区| 99久久精品免费看国产免费| 四虎影视久久久免费观看| 99久久99这里只有免费费精品| 国产综合成人久久大片91| 97精品伊人久久久大香线蕉| 66精品综合久久久久久久| 囯产精品久久久久久久久蜜桃 | 欧美日韩精品久久久免费观看| 丁香色欲久久久久久综合网| 精品久久久久久无码中文字幕| 精品国产乱码久久久久软件| 久久久久国色AV免费观看| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久国产亚洲高清观看| 亚洲v国产v天堂a无码久久| 亚洲伊人久久精品影院| 色偷偷91久久综合噜噜噜噜| 国产精品视频久久久| 久久人爽人人爽人人片AV| 国产香蕉久久精品综合网| 精品久久国产一区二区三区香蕉 | 亚洲AV日韩精品久久久久| 四虎影视久久久免费观看| 国产精品一区二区久久精品无码 | 伊人精品久久久久7777| 国内精品欧美久久精品| 国产精品熟女福利久久AV| 伊人色综合久久天天| 99久久国产综合精品网成人影院 | 99久久国语露脸精品国产| 狠狠色丁香婷婷久久综合不卡| 久久精品无码一区二区WWW| 久久天天躁狠狠躁夜夜2020一| 久久精品国产精品亚洲人人 |