自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++、Java與C#的命名規(guī)范總結(jié)

開發(fā) 后端
由于在開發(fā)工作中經(jīng)常用到C++、Java和C#作為開發(fā)語言,命名規(guī)范的問題經(jīng)常給我造成一些困擾。一方面命名規(guī)范沒有唯一的標(biāo)準(zhǔn)答案,另一方面,雖說語言的命名規(guī)范并沒有固定的形式,三種語言的風(fēng)格畢竟不太一樣,也各自有著一些獨(dú)特的特點(diǎn)。本文將對(duì)C++、Java與C#的命名規(guī)范進(jìn)行總結(jié)。

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

命名規(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é)尾。

【編輯推薦】

  1. C#3.0中自動(dòng)屬性和對(duì)象初始化器
  2. 簡(jiǎn)述用C#實(shí)現(xiàn)優(yōu)先隊(duì)列方法
  3. 橫向技術(shù)分析C#、C++和Java優(yōu)劣
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-08-21 08:52:40

C#語言命名

2009-09-01 15:08:07

C#命名規(guī)范

2009-08-13 13:38:30

C#命名規(guī)范

2009-08-27 16:30:08

C#編程命名規(guī)范

2009-07-31 18:18:33

Camel命名法C#命名規(guī)范

2010-01-28 14:38:36

C++和C#、Java

2016-01-28 14:41:06

CC++編碼

2010-01-15 18:35:25

C++的類

2009-08-13 17:30:30

C#構(gòu)造函數(shù)

2009-09-01 16:07:04

C#命名規(guī)約

2017-09-18 08:53:28

編程語言ERP補(bǔ)丁管理

2009-08-19 10:09:21

C#和C++

2011-07-20 16:16:03

CC++

2009-09-01 16:12:41

C#命名指南

2009-08-28 10:14:45

C#內(nèi)存泄露

2009-09-04 17:34:11

C#CC++

2009-08-28 13:56:25

C#反射命名空間

2009-08-27 15:34:38

C#命名空間

2009-08-28 09:30:48

C#命名屬性

2009-08-12 10:46:54

C#命名空間
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)