详细介绍C#命名规范

开发 后端
本文的C#命名规范主要基于微软的标准,另外加上实际开发的一些具体经验。它还在不断的维护和完善,你可以针对不同项目的要求,做相应的调整。

一个好的名字能够让你的程序更加好懂,别人一看到这个名字,就能够猜到你在做什么,大量好的名字离不开好的命名规范,而一个好的命名规范要做到两点:
◆合理。即容易被大家接受和使用。从这个意义上来说,好的命名规范不应该太长,它应该让你花上10分钟就能看完,写过几段代码就能熟悉。
◆风格一致。即前后一致,例外的情况少。

符合以上两点的C#命名规范就是好的,虽然它们具体的规则可能不同。有的时候,命名规范体现了编程思想,比如:对于接口,在.NET中,一般要求以“I”开头,在Java中没有这个要求,原因是Java认为接口和抽象类往往可以转化,比如:在项目初期,可能定义的是接口,而在后面,可能把它改成抽象类,如果名称一致,就避免了名称的改动。

另外,不同的命名规范也体现了程序发展历程。比如:匈牙利命名法要求类型前缀,故在C++、 VB、PB一般都会大量出现类型前缀,像intAmount, strName等。而现在一般没有这个要求,原因是:

1.有些类型可能会做修改,比如Int16变成Int32.另外对于一些动态语言(Python、 JavaScript)来说,其类型是变化的,编译时无法确定;

2.现在的开发环境更加的友好,即使在开发的时候,你也很容易知道变量的类型(只要鼠标移上去)。

本文的C#命名规范主要基于微软的标准,另外加上实际开发的一些具体经验。它还在不断的维护和完善,你可以针对不同项目的要求,做相应的调整。

有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了

1. 除约定俗成的,别用缩写。用name, address, salary等代替 nam, addr, sal

2. 除用于循环,别使用单个字母的变量象i, n, x 等。 而要使用 index, temp等。

  1. for ( int i = 0; i < count; i++ ){   
  2. ……  

其他习惯除了界面控件外,不要使用类型前缀。比如:使用名称amount,而不是 intAmount;
◆类:使用名词、名词短语命名。比如:publlic class FileStream;
◆方法:使用动词、动词短语开始。比如:CreateUser(), RemoveAt()等;
◆接口:以 I 开始,后面加上名词、名词短语、形容词命名。比如:IDisposable;
◆常量:所有单词大写,多个单词之间用 "_" 隔开
◆命名空间:

1.基本格式:

CompanyName/ProjectName.TechnologyName[.Feature][.Design]
a)CompanyName/ProjectName:公司名、项目名称或产品名称;
b)TechnologyName:稳定的、公认的技术名称或架构层次名称;
c)[.Feature][.Design]:可选的功能与设计;

例如:

  1. //微软公司的Web开发中的UI中的Design  
  2. namespace Microsoft.Web.UI.Design  
  3. //西门子报价项目中业务逻辑层中的项目管理  
  4. namespace SiemensQuotation.BusinessRules.ProjectManagement 

2.几个规则
a)嵌套的命名空间应当有依赖关系。例如:System.Web.UI.Design 中的类依赖于 System.Web.UI 中的类,而不能相反。
b)命名空间和类不能使用同样的名字。例如,命名空间Debug下最好不要又一个类名为Debug.
c)如果公司名、项目名称或产品名称太长的话,可以用缩写(且全部大写)。

控件命名控件的名称中需要加上前缀,之所以这样做是为了区分界面的控件和普通的对象,由于界面修改往往非常频繁,区分开来能使你更快速的找到控件,从而修改界面。举一个例子:

界面有10个TextBox、10个Label.一个TextBox对应一个Label,为了完成读写,你至少要有20条语句来从控件进行取、赋值操作,如果有前缀的话,输入this.txt,你就几乎马上能找到这个控件。反之,如果没有前缀,由于窗口或页面对象拥有大量的属性和变量(>100 个),你将花费大量时间来查找。另外一个TextBox对应一个Label(一个代表值,一个代表名称),它们往往指同一样事物,如果有前缀,就很容易区分这两个控件。以上介绍C#命名规范。

【编辑推荐】

  1. C#结构体的特点浅析
  2. 介绍C#窗体拖动事件
  3. C#读取Excel遇到无法读取的解决方法
  4. 概述C#.NET操作XML
  5. C#基础概念学习笔记
责任编辑:佚名 来源: IT168
相关推荐

2009-09-01 15:08:07

C#命名规范

2009-08-27 16:30:08

C#编程命名规范

2009-08-21 08:52:40

C#语言命名

2009-07-31 18:18:33

Camel命名法C#命名规范

2009-08-10 16:30:56

C# BitmapDa

2009-08-12 15:34:40

C# DBNull

2009-05-22 11:01:53

C++JavaC#

2009-08-07 16:10:20

C#调用API

2009-08-21 09:23:11

C# GDI+

2009-08-03 18:49:17

C#和Java

2009-08-24 18:21:23

C# ListView

2009-08-26 17:31:59

C# const常量

2009-08-21 15:16:23

C#使用指针

2009-08-20 15:26:42

C#循环语句

2009-08-14 17:04:50

C#类型系统

2009-09-01 17:29:51

C#命名规约

2009-08-06 14:59:36

C#编译器

2009-08-25 17:28:23

C#创建DataSet

2009-08-27 14:32:15

C#编写ActiveX

2009-08-13 15:40:28

C#基础知识
点赞
收藏

51CTO技术栈公众号