C#命名规范

6. 命名

6.1. 命名的基本约定

使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以被命名为 “ i ”。

尽量采用项目所涉及领域的术语。

采用大小写混合,提高名字的可读性。为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不采用下划线作分隔字符的写法。有两种适合的书写方法,适应于不同类型的标识符:

PasalCasing:标识符的第一个单词的字母大写;

camelCasing:标识符的第一个单词的字母小写。

下表描述了不同类型标识符的大小写规则:

标识符

大小写

示例

命名空间

Pascal

namespace Com.Techstar.ProductionCenter

类型

Pascal

public class DevsList

接口

Pascal

public interface ITableModel

方法

Pascal

public void UpdateData()

属性

Pascal

Public intLength{…}

事件

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;

命名组件采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值