设为首页   |  加入收藏夹 快速导航:  热门文章  |  最新文章  |  梦想博客  
当前位置:编程之家 -> 文章频道 ->asp.net 
站内搜索:  

对C#.NET编程规范的个人见解(1)

作者:Eunge 来源:blog 整理日期:2007-05-19

邮箱:eudev.net@yeah.net

我们应该知道编程规范对于项目的生命周期多么重要,如果每个程序员写的代码都令其他人难以阅读、或者一个团队项目的代码却五花八门,这样的项目将会是怎么样的噩梦。

MS为提供了FXCop工具,用于自动检查代码的规范性、安全性和效率,所以,本文将围绕MS提供的C#.NET代码规范展开。

FXCop工具下载地址:http://www.gotdotnet.com/team/fxcop

1、命名约定
Pascal和Camel命名约定

编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType)

以下是一些常用的C#成员及其推荐命名方法:

标志符
 规则
 实例与描述
 
类class
 Pascal
 Application
 
枚举类型enum
 Pascal
 记住,是以Pascal命名,切勿包含Enum,否则FXCop会抛出Issue
 
委托delegate
 Pascal
 以Pascal命名,不以任何特殊字符串区别于类名、函数名
 
常量const
 全部大写
 全部大写,单词间以下划线隔开
 
接口interface
 Pascal
 IDisposable 注:总是以 I 前缀开始,后接Pascal命名
 
方法function
 Pascal
 ToString
 
命名空间namespace
 Pascal
 以.分隔,当每一个限定词均为Pascal命名方式,比如:

using ExcelQuicker.Framework
 
参数
 Camel
 首字母小写
 
局部变量
 Camel
 也可以加入类型标识符,比如对于System.String类型,声明变量是以str开头,string strSQL = string.Empty;
 
数据成员
 Camel
 以m开头+Pascal命名规则,如mProductType(m意味member)
 
属性
 Pascal
  
 1.1、局部变量命名
在primitive的局部变量命名时,使用Camel命名规则,

比如:int type = 0;

double count = 0;

对于string类型定义,通常使用str前缀+Pascal命名的方式,

比如string strSql = ""; //这是一种典型的命名SQL语句字符串的方式。

而对于此外的类型对象定义,通常的做法是使用obj前缀+Pascal命名的方式,来告知我们这个变量是一个对象。或者也可以直接使用类名的Camel命名规则。

比如:Application objApplication = new Application();
            Application application = new Application();

 

1.2、参数命名
Camel命名规则,首字母小写

1.3、类数据成员/属性命名
数据成员命名以Camel命名方式,而属性以Pascal命名。通常如果数据成员与属性成对的话,数据成员与属性的命名区别仅在于变量名的第一个字母是小写还是大写。

比如

class Appcalition

{

        private ArrayList worksheetCollection = new ArrayList();

        public ArrayList WorksheetCollection

        {

            get

            {

                return this.worksheetCollection;

            }

        }

}

另外,类的成员数据/方法调用时,应该加上this限定符,this在编辑环境中是蓝色的,更利于我们区分局部变量、参数或静态变量,并且利于FXCop检测区分。(如果使用FxCop扫描和检测代码的话)

[1]  [2]  [3]