知识大全 C++、Java与C#的命名规范总结

Posted 类型

篇首语:不曾扬帆,何以至远方。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C++、Java与C#的命名规范总结相关的知识,希望对你有一定的参考价值。

C++、Java与C#的命名规范总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  摘要 由于在开发工作中经常用到C++ Java和C#作为开发语言 命名规范的问题经常给我造成一些困扰 一方面命名规范没有唯一的标准答案 另一方面 虽说语言的命名规范并没有固定的形式 三种语言的风格毕竟不太一样 也各自有着一些独特的特点 本文将对C++ Java与C#的命名规范进行总结    在编写代码的过程中所采用的命名方式经常变动 没有形成固定的风格 因此 根据从网上收集到的一些资料以及自身的一些经验 对C++ Java以及C#的命名规范进行了总结 方便以后查询    命名规范的原则 ◆ 尽量采用以前采用过的命名规则 ◆尽量在三种语言下采用相同的命名规则 以方便记忆 ◆尽量采用来自官方(如Sun MS)的命名规则     匈牙利命名法 Camel命名法与Pascal命名法匈牙利命名法 在Windows编程中使用非常普遍 由微软的一位匈牙利程序员提出 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀 标识出变量的作用域 类型等 例如 m_lpszStr表示指向一个以 字符结尾的字符串的长指针成员变量 在面向对象的程序设计中匈牙利命名法使用起来非常别扭    Camel命名法 即骆驼式命名法 原因是采用该命名法的名称看起来就像骆驼的驼峰一样高低起伏 Camel命名法有两种形式 混合使用大小写字母和单词之间加下划线

  例如runFast和run_fast都属于Camel命名法    Pascal命名法 与Camel命名法类似 不过Pascal命名法的首字母为大写字母   命名规范对照表

  标识符类型

  C++

  Java

  C#

  文件名

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

  与类名相同

  同Java

  名字空间 包

  同C#

  包名的前缀是全部小写的ASII字符并且是一个顶级域名 通常是 edu gov net 包名的后续部分根据不同机构各自内部的命名规范不尽相同 这类命名规范可能以特定目录名的组成来区分部门 项目 机器或注册名

  示例

  l sun eng

  l apple quicktime v

  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 = ;

  l static final int MAX_WIDTH = ;

  l static final int GET_THE_CPU = ;

  同Java

  事件

  无

  无

  Pascal命名法

  示例

  l FormClosing;

  l ValueChanged;

  l ButtonClicked;

  异常类型

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

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

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

cha138/Article/program/net/201311/13779

相关参考

知识大全 Java编程风格与命名规范整理

Java编程风格与命名规范整理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基本命名规范  包

知识大全 横向技术分析C#、C++和Java优劣

横向技术分析C#、C++和Java优劣  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#诞生之

知识大全 C# 语言规范--1.12 命名空间和程序集

C#语言规范--1.12命名空间和程序集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  除了依赖

知识大全 C# 编程规范

C#编程规范  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一命名  用pascal规则来命名方

知识大全 C#与C++谁更强

C#与C++谁更强?还是关公战秦琼  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我一直不明白C

知识大全 Java与C++

Java与C++  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java特别象C++由此很自然地

知识大全 java语言与c++相比,有哪些优点?

java语言与c++相比,有哪些优点?主要是这两种开发者对内存地址变量的不同理解,使两种语言在编程的思维上有所差异。C中存在指针变量,而且每个指针对应着一个真实的物理内存地址,他可以对相应地址中的内存

知识大全 JAVA 的interface观念 与C++ 多重继承的比较

JAVA的interface观念与C++多重继承的比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 注意C++和C#引用的区别

注意C++和C#引用的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#用多了最近又回到C

知识大全 C#和C++结构体Socket通信

C#和C++结构体Socket通信  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近在用C#做