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

 我来答
机器1718
2022-10-11 · TA获得超过6768个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:154万
展开全部

  摘要 由于在开发工作中经常用到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 Color{Color_Red Color_Green};

  Pascal命名法

  示例

  l enum Color{Red 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结尾

lishixinzhi/Article/program/net/201311/13779

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式