要使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。对一些感化显而易见的变量可以给与简单的定名,如在循环里的递增(减)变量就可以被定名为 ” i ”。
要尽量给与项目所涉及范围的术语。
要给与巨细写混合,提高名字的可读性。为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不给与下划线作分隔断绝分手字符的写法。有两种适合的书写要领,适应于差别类型的标识符:
PasalCasing:标识符的第一个单词的字母大写;
camelCasing:标识符的第一个单词的字母小写。
下表描述了差别类型标识符的巨细写法则:
标识符
巨细写
示例
定名空间
Pascal
namespace Com.Techstar.ProductionCenter
类型
Pascal
public class DevsList
接口
Pascal
public interface ITableModel
要领
Pascal
public void UpdateData()
属性
Pascal
Public int Length{…}
事件
Pascal
public event EventHandler Changed;
私有字段
Camel
private string fieldName;
非私有字段
Pascal
public string FieldName;
枚举值
Pascal
FileMode{Append}
参数
Camel
public void UpdateData(string fieldName)
局部变量
Camel
string fieldName;
制止使用缩写,如果必然要使用,就谨慎使用。同时,应该保存一个标准缩写的列表,并且在使用时连结一致。
对常见缩略词,两个字母的缩写要给与统一巨细写的方法(示例:ioStream,getIOStream);多字母缩写给与首字母大写,,其他字母小写的方法(示例:getHtmlTag);
制止使用长名字(最好不赶过 15个字母)。
制止使用相似或者仅在巨细写上有区另外名字。
6.2.各类标示符类型的定名约定
6.2.1. 措施集定名
公司域名(Techstar)+项目名称 + 模块名称(可选),例如:
中心系统措施集:Techstar.ProductionCenter;
中心系统业务逻辑措施集:Techstar. ProductionCenter.Business;
6.2.2. 定名空间定名
给与和措施集定名不异的方法:公司域名(Techstar)+项目名称 + 模块名称。此外,一般情况下建议定名空间和目录布局不异。例如:
中心系统:Techstar.ProductionCenter;
中心系统下的用户控件:Techstar.ProductionCenter.UserControl;
中心系统业务逻辑:Techstar. ProductionCenter.Business;
中心系统数据访谒:Techstar. ProductionCenter.Data;
6.2.3. 类和接口定名
类的名字要用名词;
制止使用单词的缩写,除非它的缩写已经广为人知,如HTTP。
接口的名字要以字母I开头。保证对接口的标准实现名字只相差一个“I”前缀,例如对IComponent的标准实现为Component;
泛型类型参数的定名:定名要为T或者以T开头的描述性名字,例如:
public class List<T>
public class MyClass<TSession>
对同一项目的差别定名空间中的类,定名制止反复。制止引用时的斗嘴和混淆;
6.2.4. 要领定名
第一个单词一般是动词
如果要领返回一个成员变量的值,要领名一般为Get+成员变量名,如若返回的值是bool变量,一般以Is作为前缀。此外,如果须要,考虑用属性来替代要领,具体建议见10.1.2节;
如果要领改削一个成员变量的值,要领名一般为:Set +成员变量名。同上,考虑用属性来替代要领;
6.2.5. 变量定名
凭据使用范畴来分,我们代码中的变量的根基上有以下几种类型,类的公有变量;类的私有变量(受掩护同公有);要领的参数变量;要领内部使用的局部变量。这些变量的定名法则基真不异,见标识符巨细写比较表。区别如下:
i. 类的公有变量按凡是的方法定名,无特殊要求;
ii. 类的私有变量给与两种方法均可:给与加“m”前缀,例如mWorkerName;
iii. 要领的参数变量给与camalString,例如workerName;
iv. 要领内部的局部变量给与camalString,例如workerName;
不要用_或&作为第一个字母;
尽量要使用短而且具有意义的单词;
单字符的变量名一般只用于生命期非常短暂的变量。i,j,k,m,n一般用于integer;c,d,e一般用于characters;s用于string
如果变量是调集,则变量名要用复数。例如表格的行数,定名应为:RowsCount;
定名组件要给与匈牙利定名法,所有前缀均应遵循同一个组件名称缩写列表
6.3.组件名称缩写列表
缩写的基来源根底则是取组件类名各单词的第一个字母,如果只有一个单词,则去失此中的元音,留下子音。缩写全部为小写。
组件类型
缩写
例子
Label
Lbl
lblNote
TextBox
Txt
txtName
Button
Btn
btnOK
ImageButton
Ib
ibOK
LinkButton
Lb
lbJump
HyperLink
Hl
hlJump
DropDownList
Ddl
ddlList
CheckBox
Cb
cbChoice
CheckBoxList
Cbl
cblGroup
RadioButton
Rb
rbChoice
RadioButtonList
Rbl
rblGroup
Image
Img
imgBeauty
Panel
Pnl
pnlTree
TreeView
Tv
tvUnit
WebComTable
Wct
wctBasic
ImageDateTimeInput
Dti
dtiStart
ComboBox
Cb
cbList
MyImageButton
Mib
mibOK
WebComm.TreeView
Tv