• <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++
            日歷
            <2014年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456
            統(tǒng)計(jì)
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導(dǎo)航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             

            在編寫代碼的過程中所采用的命名方式經(jīng)常變動,沒有形成固定的風(fēng)格。因此,根據(jù)從網(wǎng)上收集到的一些資料以及自身的一些經(jīng)驗(yàn),對C++、Java以及C#的命名規(guī)范進(jìn)行了總結(jié),方便以后查詢。

            命名規(guī)范的原則:

             盡量采用以前采用過的命名規(guī)則;

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

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

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

            匈牙利命名法:在Windows編程中使用非常普遍,由微軟的一位匈牙利程序員提出。匈牙利命名法通過在變量名前面加上相應(yīng)的小寫字母的符號標(biāo)識作為前綴,標(biāo)識出變量的作用域、類型等。例如,m_lpszStr表示指向一個以0字符結(jié)尾的字符串的長指針成員變量。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中匈牙利命名法使用起來非常別扭。

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

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

            2. 命名規(guī)范對照表

            標(biāo)識符類型

            C++

            Java

            C#

            文件名

            與類名相同,定義類是文件名一般成對出現(xiàn),如FooBar.h和FooBar.cpp對應(yīng)類FooBar。

            與類名相同。

            同Java。

            名字空間、包

            同C#。

            包名的前綴是全部小寫的ASII字符并且是一個頂級域名,通常是com,edu,gov,net,org。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自內(nèi)部的命名規(guī)范不盡相同,這類命名規(guī)范可能以特定目錄名的組成來區(qū)分部門、項(xiàng)目、機(jī)器或注冊名。

            示例:

              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。

            類、結(jié)構(gòu)體、類型定義(typedef)、枚舉類型

            同Java。

            Pascal命名法。

            示例:

              l class  Raster;

              l class  ImageSprite;

            同Java。

            接口

            與類型命名規(guī)范相同。

            命名規(guī)則與類名相似。

            示例:

              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();

            方法內(nèi)的變量及參數(shù)

            同Java。

            Camel命名法。

            示例:

              l int  myWidth;

              l int  taxTotal;

            同Java。

            私有、保護(hù)實(shí)例字段

            同Java。

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

            示例:

              l int  _employeeId;

              l String  _name;

              l Customer  _customer;

            同Java。

            屬性、存取函數(shù)

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

            示例:

              l  GetEmployeeId();

              l SetName();

              l  GetCustomer();

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

            示例:

              l  getEmployeeId();

              l setName();

              l  getCustomer();

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

            示例:

            常量

            同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,與類型命名規(guī)則相同,且以Exception結(jié)尾。

            繼承自java.lang.Exception,與類型命名規(guī)則相同,且以Exception結(jié)尾。

            繼承自System.Exception,與類型命名規(guī)則相同,且以Exception結(jié)尾。

            www.haokan118.cn

            www.haosoa.cn

            www.baidulai.com

            posted on 2009-05-23 22:31 HAOSOLA 閱讀(197) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            精品久久人人妻人人做精品| 丁香色欲久久久久久综合网| 国产成人99久久亚洲综合精品| 国产亚洲精午夜久久久久久| 亚洲v国产v天堂a无码久久| 久久精品国产亚洲AV香蕉| 嫩草影院久久国产精品| 青青草原综合久久大伊人| 精品久久久久久中文字幕人妻最新| 亚洲国产成人久久精品影视| 亚洲色欲久久久综合网| 精品无码人妻久久久久久| 狠狠88综合久久久久综合网| 久久综合给合综合久久| 2021精品国产综合久久| 久久成人国产精品免费软件| 精品久久人人妻人人做精品| 9久久9久久精品| 亚洲精品乱码久久久久久按摩| 四虎影视久久久免费观看| 99久久99久久| 久久ZYZ资源站无码中文动漫| 欧美午夜A∨大片久久| 色综合久久88色综合天天| 久久久久久久97| 国内精品伊人久久久久AV影院| 色妞色综合久久夜夜| 欧美一区二区久久精品| 国内精品久久久久影院网站| 欧美亚洲国产精品久久蜜芽| 久久w5ww成w人免费| 漂亮人妻被黑人久久精品| 2019久久久高清456| 久久精品国产免费观看三人同眠| 午夜福利91久久福利| 午夜视频久久久久一区 | 久久精品无码一区二区三区免费 | 欧美精品国产综合久久| 亚洲国产综合久久天堂| 精品无码久久久久国产动漫3d | 99久久亚洲综合精品网站|