C++、Java与C#的命名规范总结

来源:互联网 发布:nginx lua 修改header 编辑:程序博客网 时间:2024/05/19 19:35

在编写代码的过程中所采用的命名方式经常变动,没有形成固定的风格。因此,根据从网上收集到的一些资料以及自身的一些经验,对C++、Java以及C#的命名规范进行了总结,方便以后查询。命名规范的原则:

尽量采用以前采用过的命名规则;

◆尽量在三种语言下采用相同的命名规则,以方便记忆;◆尽量采用来自官方(如Sun、MS)的命名规则。1.匈牙利命名法、Camel命名法与Pascal命名法

匈牙利命名法:在Windows编程中使用非常普遍,由微软的一位匈牙利程序员提出。匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。例如,m_lpszStr表示指向一个以0字符结尾的字符串的长指针成员变量。在面向对象的程序设计中匈牙利命名法使用起来非常别扭。

Camel命名法:即骆驼式命名法,原因是采用该命名法的名称看起来就像骆驼的驼峰一样高低起伏。

Camel命名法有两种形式:混合使用大小写字母和单词之间加下划线,例如runFast和run_fast都属于Camel命名法。

Pascal命名法:与Camel命名法类似,不过Pascal命名法的首字母为大写字母。2.命名规范对照表

标识符类型

文件名

C++

与类名相同,定义类是文件名一般成对出现,如FooBar.h和FooBar.cpp对应类FooBar。

Java

与类名相同

C#

同Java。

名字空间、包同C#包名的前缀是全部小写的ASII字符并且是一个顶级域名,通常是com,edu,gov,net,org。包名的后续部分根据不同机构各自内部的命名规范不尽相同,这类命名规范可能以特定目录名的组成来区分部门、项目、机器或注册名。示例如下:●com.sun.eng

●com.apple.quicktime.v2

Pascal命名法,且从表示范围大的名字开始。

示例:

●Oracle.Data.Access;●Microsoft.Office.Excel;

●edu.cmu.cs.bovik.cheese

枚举值

Pascal命名法,枚举值前面加

上枚举类型名,中间以下划线“_”隔开。示例如下: ●enum

Color{Color_Red,Color_Green};

类、结构体、类型定义(typedef)、枚举类型

同Java。

Pascal命名法。示例如下:

●classRaster;●classImageSprite;

接口

与类型命名规范相同。

命名规则与类名相似。示例如下:

●interfaceRasterDelegate;●interfaceStoring;

●interfaceITester;●interfaceILogger;

方法

同C#。

Camel命名法。示例如下:

Pascal命名法。示例如下:Pascal命名法,前面需要加上字符“I”。示例如下:同Java。

Pascal命名法。示例:

●enumColor{Red,Green};

同Java

●run();●runFast();●getBackGround();

●Run();●RunFast();●GetBackGround();

方法内的变量及参数同Java。Camel命名法。示例如下:●intmyWidth;●inttaxTotal;

同Java。

私有、保护实例字段同Java。Camel命名法,前面需要加一个下划线“_”。示例如下:●int_employeeId;●String_name;●Customer_customer;

同Java。

属性、存取函数Pascal命名法,读取函数前面加上“Get”,设置函数前面加上“Set”。示例如下:

Camel命名法,读取函数前面加上“get”,设置函数前面加上“set”。示例如下:

与方法命名规则相同,应该与字段名称相同。建议采用自动属性。

●GetEmployeeId();●SetName();●GetCustomer();

●getEmployeeId();●setName();●getCustomer();

常量同Java。全部大写,单词间用下划线隔开。示例: ●

static

final

int

同Java。

MIN_WIDTH=4;

●staticfinalint

MAX_WIDTH=999;●

static

final

int

GET_THE_CPU=1;

事件

Pascal命名法。示例:

●FormClosing;●ValueChanged;●ButtonClicked;

异常类型继承自std::exception,与类型命名规则相同,且以Exception结尾。

继承自java.lang.Exception,与类型命名规则相同,且以Exception结尾。

继承自System.Exception,与类型命名规则相同,且以Exception结尾。


Java免费学习资料直播公开课加老师QQ578024144
原创粉丝点击