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

創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,先為漾濞等服務(wù)建站,漾濞等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為漾濞企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
命名規(guī)范的原則:
◆ 盡量采用以前采用過的命名規(guī)則;
◆盡量在三種語言下采用相同的命名規(guī)則,以方便記憶;
◆盡量采用來自官方(如Sun、MS)的命名規(guī)則。
1. 匈牙利命名法、Camel命名法與Pascal命名法
匈牙利命名法:在Windows編程中使用非常普遍,由微軟的一位匈牙利程序員提出。匈牙利命名法通過在變量名前面加上相應(yīng)的小寫字母的符號(hào)標(biāo)識(shí)作為前綴,標(biāo)識(shí)出變量的作用域、類型等。例如,m_lpszStr表示指向一個(gè)以0字符結(jié)尾的字符串的長指針成員變量。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中匈牙利命名法使用起來非常別扭。
Camel命名法:即駱駝式命名法,原因是采用該命名法的名稱看起來就像駱駝的駝峰一樣高低起伏。Camel命名法有兩種形式:混合使用大小寫字母和單詞之間加下劃線,例如runFast和run_fast都屬于Camel命名法。
Pascal命名法:與Camel命名法類似,不過Pascal命名法的首字母為大寫字母。
2. 命名規(guī)范對(duì)照表
標(biāo)識(shí)符類型 | C++ | Java | C# |
文件名 | 與類名相同,定義類是文件名一般成對(duì)出現(xiàn),如FooBar.h和FooBar.cpp對(duì)應(yīng)類FooBar。 | 與類名相同。 | 同Java。 |
名字空間、包 | 同C#。 | 包名的前綴是全部小寫的ASII字符并且是一個(gè)***域名,通常是com,edu,gov,net,org。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自內(nèi)部的命名規(guī)范不盡相同,這類命名規(guī)范可能以特定目錄名的組成來區(qū)分部門、項(xiàng)目、機(jī)器或注冊(cè)名。 示例: l com.sun.eng l com.apple.quicktime.v2 l edu.cmu.cs.bovik.cheese | Pascal命名法,且從表示范圍大的名字開始。 示例: l Oracle.Data.Access; l Microsoft.Office.Excel; |
枚舉值 | Pascal命名法,枚舉值前面加上枚舉類型名,中間以下劃線“_”隔開。 示例: l enum Color{Color_Red, Color_Green}; | Pascal命名法。 示例: l enum Color{Red, 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”。 示例: interface ITester; 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命名法,前面需要加一個(gè)下劃線“_”。 示例: 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)該與字段名稱相同。建議采用自動(dò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é)尾。 |
【編輯推薦】
- C#3.0中自動(dòng)屬性和對(duì)象初始化器
- 簡述用C#實(shí)現(xiàn)優(yōu)先隊(duì)列方法
- 橫向技術(shù)分析C#、C++和Java優(yōu)劣
標(biāo)題名稱:C++、Java與C#的命名規(guī)范總結(jié)
文章URL:http://fisionsoft.com.cn/article/dppeicc.html


咨詢
建站咨詢
