• <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開獎
            久久精品成人一区二区三区| 狠狠色丁香久久综合婷婷| 亚洲综合久久综合激情久久| 国产精品日韩深夜福利久久| 亚洲?V乱码久久精品蜜桃| 偷偷做久久久久网站| 久久午夜羞羞影院免费观看| 青青青青久久精品国产h| 人人狠狠综合88综合久久| 久久久无码精品亚洲日韩蜜臀浪潮 | 精品久久香蕉国产线看观看亚洲 | 18岁日韩内射颜射午夜久久成人| 97久久天天综合色天天综合色hd| 久久露脸国产精品| 精品久久久久久中文字幕大豆网| 丁香久久婷婷国产午夜视频| 久久综合国产乱子伦精品免费| 国产成人无码精品久久久免费 | 色婷婷久久综合中文久久一本| 久久精品国产亚洲AV嫖农村妇女| 蜜臀久久99精品久久久久久| 久久91精品国产91久久户| 色妞色综合久久夜夜| 国产亚州精品女人久久久久久 | 精品国产综合区久久久久久| 久久精品国产亚洲av影院| 久久久久久伊人高潮影院| 久久精品国产一区二区| 久久精品成人免费网站| 中文字幕乱码久久午夜| 人人狠狠综合久久亚洲| 久久久久综合国产欧美一区二区| 97久久精品人妻人人搡人人玩 | 久久久久久亚洲精品影院| 久久综合一区二区无码| 久久久黄片| 亚洲国产天堂久久综合| 伊人久久精品影院| 亚洲国产综合久久天堂 | 91视频国产91久久久| 精品久久久无码人妻中文字幕豆芽|