C#简单命名指南
2019-06-14 08:02:46来源: 阅读 ()
一个好的名字能够让你的程序更加好懂,别人一看到这个名字,就能够猜到你在做什么。大量好的名字离不开好的命名规范,而一个好的命名规范要做到两点:
合理。即容易被大家接受和使用。从这个意义上来说,好的命名规范不应该太长,它应该让你花上10分钟就能看完,写过几段代码就能熟悉。
风格一致。即前后一致,例外的情况少。
符合以上两点的命名规范就是好的,虽然它们具体的规则可能不同。有的时候,命名规范体现了编程思想,比如:对于接口,在.NET中,一般要求以“I开头,在Java中没有这个要求,原因是Java认为接口和抽象类往往可以转化,比如:在项目初期,可能定义的是接口,而在后面,可能把它改成抽象类,如果名称一致,就避免了名称的改动。
另外,不同的命名规范也体现了程序发展历程。比如:匈牙利命名法要求类型前缀,故在C++、VB、PB一般都会大量出现类型前缀,像intAmount, strName等。而现在一般没有这个要求,原因是:1)有些类型可能会做修改,比如Int16变成Int32。另外对于一些动态语言(Python、JavaScript)来说,其类型是变化的,编译时无法确定;2)现在的开发环境更加的友好,即使在开发的时候,你也很容易知道变量的类型(只要鼠标移上去)。
本文的命名规范主要基于微软的标准,另外加上实际开发的一些具体经验。它还在不断的维护和完善,你可以针对不同项目的要求,做相应的调整。
命名样式
样式分类
名称 |
解释 |
适用环境 |
例子 |
Pascal 大小写 |
首字母和后面的每个单词的首字母都大写;其他字母小写 |
BackColor |
|
Camel 大小写 |
首字母小写,而后面的每个单词的首字母大写;其他字母小写 |
backColor |
|
大写 |
所有字母都大写 |
l; 缩写。 l; 少于等于2个字符 |
System.IO System.Web.UI |
样式的选择
标识符 |
命名格式 |
例子 |
备注 |
参数、局部变量 |
Camel |
public int GetTypeID(string typeName) {; int typeID; &hellip} |
|
Private、Protected的实例字段 |
Camel |
private string redValue; protected bool isOk; |
|
界面控件 |
Camel |
private Label lblAlarm; |
|
缩写 |
大写 |
namespace System.IO {; &hellip} |
缩写必须是被普遍接受、众所周知的缩写。 |
除上面的标识符外 |
Pascal |
public System.Drawing.Color BackColor {; &hellip} |
原则和习惯
首要原则
有意义的,描述性的词语来命名。能够一眼看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了
1. 除约定俗成的,别用缩写。用name, address, salary等代替 nam, addr, sal
2. 除用于循环,别使用单个字母的变量象i, n, x 等. 而要使用 index, temp等。
for ( int i = 0; i < count; i++ ){ ...}
其他习惯
l除了界面控件外,不要使用类型前缀。比如:使用名称amount,而不是 intAmount;
l类:使用名词、名词短语命名。比如:public class FileStream;
l方法:使用动词、动词短语开始。比如:CreateUser(), RemoveAt()等;
l接口:以 I 开始,后面加上名词、名词短语、形容词命名。比如:IDisposable;
l常量:所有单词大写,多个单词之间用 "_" 隔开。public const string PAGE_TITLE = "Welcome";
l命名空间: