`

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

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

命名规范的原则:

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

◆尽量在三种语言下采用相同的命名规则,以方便记忆;

◆尽量采用来自官方(如Sun、MS)的命名规则。

1. 匈牙利命名法、Camel命名法与Pascal命名法

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

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

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

Pascal命名法:与Camel命名法类似,不过Pascal命名法的首字母为大写字母。

2. 命名规范对照表

标识符类型
    

C++
    

Java
    

C#

文件名
    

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

与类名相同。
    

同Java。

名字空间、包
    

同C#。
    

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

示例:

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。

类、结构体、类型定义(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 = 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,与类型命名规则相同,且以Exception结尾。
    

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

继承自System.Exception,与类型命名规则相同,且以Exception结尾。
分享到:
评论

相关推荐

    代码规范(含java\c#\c++)

    本资源包含针对三种主流编程语言——Java、C#和C++的代码规范指南,旨在帮助团队建立统一的编码规格标准,提高代码质量和开发效率。 **Java代码规范:** Java规范通常遵循Oracle的《Java编程规范》(Code ...

    C++如何调用C# java

    C++调用C#、Java方法详解 在这篇文章中,我们将探讨如何使用C++调用C#和Java语言的方法。虽然C++是一种非常强大的语言,但是在调用其他语言方面的介绍却很少见。通过这篇文章,我们将展示如何使用C++调用C#和Java...

    java调用C#封装的dll方法

    为了实现Java与C#之间的交互,一种常用的方式是通过调用C#封装的DLL文件来完成特定功能。这种方法涉及到.NET Framework与Java平台之间的互操作性问题。其中一种方案是使用Java Native Access (JNA) 来调用通过C++...

    C#和Java编程规范

    根据提供的文件内容,可以看出文档内容涵盖广泛的编程规范,适用于C++、C#以及.NET平台的编程风格指导。这些规范旨在帮助开发者提高开发效率,减少代码错误,并增强代码的可维护性。文档详细说明了各种编码习惯,...

    c++和Java和C#和Cobol代码规范

    ### C++、Java、C# 和 Cobol 代码规范概览 #### C++ 编码规范 ##### 文件和目录结构规则 **1.1 目录结构** C++项目的目录结构应该清晰地反映其模块划分。一个典型的推荐目录结构如下所示: ``` program_name |-...

    C#命名规范 C#规范文档

    ### C#命名规范详解 #### 1. 类的命名规则 - **规则1-1**:采用PascalCase(帕斯卡式命名)规则来命名类名,这意味着类名的首字母必须大写。例如,`Customer`而非`customer`。 - **规则1-2**:选择能够准确反映类...

    C++程序员快速学习C#

    从给定的文件信息来看,文章旨在通过对比C++与C#的关键差异,帮助C++程序员快速上手C#。以下是对标题、描述以及部分文本中提到的知识点的详细解析: ### C++程序员向C#过渡的优势 文章指出,由于C++与C#在语法上的...

    java C# 面向对象方面的比较.doc

    在编程世界里,Java和C#都是广泛使用的面向对象的语言,它们在很多方面有着相似之处,但也存在一些显著的差异。以下是对这两种语言在面向对象特性上的对比: 1. 访问控制: - C#提供了public、internal、protected...

    C#与JAVA的比较

    10. **成员访问操作符**:与C++中的箭头(`->`)和作用域解析操作符(`::`)不同,C#和JAVA统一使用点(`.`)操作符来访问对象的成员变量和方法。 11. `null` 和 `boolean` 关键字**:这两个语言都将 `null` 和 `...

    java and c# java and c#

    起初,微软视Java为解决C和C++问题的一种工具,但随着与Sun公司的法律纠纷,微软被迫停止VisualJ++的开发,转而研发了自己的语言——C#。下面将深入分析C#与Java的主要差异,尤其是那些C#特有的特性。 ### 中间语言...

    JAVA与C#相同与区别.pdf

    标题和描述提示了文件内容涉及Java与C#两种编程语言的相同点与不同点,以及通过对比阐述它们的核心概念和技术特征。从提供的部分文档内容中,可以提炼出以下知识点: 1. 语言发展历史:文档中提及了Java与C#的一些...

    C++、Java和C_的语法比较.doc

    根据提供的文档信息,我们可以深入探讨C++、Java与C#三种编程语言之间的语法差异。这里主要聚焦于C++与C#的对比,并适当提及Java的相关特性,以帮助读者更好地理解这些语言之间的区别。 ### 一、继承 **C++**: ...

    C# 语言规范 版本5.0中文.pdf

    C#是一种由微软开发的面向对象的编程语言,它的设计灵感来源于C、C++和Java,旨在提供一种简洁、现代且类型安全的编程环境。C#的最新版本为5.0,其规范已经被ECMA International和ISO/IEC标准化,分别对应ECMA-334和...

    最全面试笔试整合(C C++ Java C# 网络 数据库等)(经典)

    在IT行业中,面试和笔试是评估候选人技术能力的重要环节,涵盖C、C++、Java、C#、网络和数据库等多个核心领域。以下是对这些领域的详细解释: **C语言:** C语言是一种强大的、低级别的编程语言,适用于系统编程、...

    java c++ and c# fileupload

    标题中的"Java C++ and...总结来说,Java、C++和C#在文件上传方面的实现各有特点,但都依赖于处理HTTP请求和文件I/O操作。理解这些基本原理和使用相关库,对于任何想要在Web开发中实现文件上传的程序员都是至关重要的。

    C#6.0 语言规范中文版.pdf

    C# 6.0是微软公司开发的一种面向对象的编程语言,它的设计简洁直观,结合了C、C++和Java等语言的元素,易于为上述语言的程序员所接受和使用。C# 6.0沿袭了C语言系列的特点,通过ECMA国际和ISO/IEC标准化组织的标准化...

    Java与C#比较研究 (2).pdf

    【Java与C#比较研究】 Java和C#都是现代编程语言中的重要成员,它们各自有着独特的特性和优势。本文将深入探讨这两者之间的相似性与差异性,以便开发者更好地理解和选择适合自己的开发工具。 首先,Java和C#的相同...

    c++,java,c#简单介绍(21天学通c语言第六版的附录)

    C++、Java和C#是三种非常重要的编程语言,它们各自拥有独特的特性和用途,在软件开发领域占据着重要地位。让我们分别对这三种语言进行深入的了解。 首先,C++是一种面向对象的编程语言,由Bjarne Stroustrup于1983...

    c++,java,php,c# 的网络字节流读写文件

    本文将深入探讨C++、Java、PHP和C#这四种语言在网络字节流读写文件方面的实现,以及它们各自的特点和差异。 首先,让我们从C++开始。C++提供了一系列的标准库函数来处理文件输入/输出,如`fstream`类。为了在网络中...

Global site tag (gtag.js) - Google Analytics