C#项目开发规范

表意清晰的命名规范是程序规划的核心,如果整个系统所有的命名都与其功能相适合,并可以让人“望文知意”,例如“Age”、“SetAge ()”,可大大提高系统的可维护性和健壮性,并可使系统关系清晰。反之,如果命名不能反应其含义,例如“v001”、“f002 ()”,那么将适得其反。

*说明

常用的命名风格如下。

(1)Pascal风格:包含一到多个单词,每一个单词第一个字母大写,其他字母小写,其余字母均小写。例如:CollegeStudent、HelloWorld等。

(2)Camel风格:包含一到多个单词,第一个单词首字母小写,其余单词首字母大写,其他字母均小写。例如:name、gender、somePara等。

下面就给出常用的一些命名规范,供读者在开发中参考。

1.命名空间

命名空间命名采用Pascal风格,取名的一般规则如下。

CompanyName.TechnologyName

例如:

Microsoft.Office

MyCompany.NamingRule.Test

另外,需要用复数的时候要使用复数的名称空间名。例如,使用System.Collections而不是System.Collection。但是,当遇到缩写形式时,通常不需要使用复数。例如:使用System.IO而不是System.IOs。

名称空间和类不能使用同样的名字。例如,有一个类被命名为Student后,就不要再使用Student作为一个名称空间。

2.类

C#中的类命名采用Pascal命名风格,取名的规则如下。

(1)在为类命名前首先要知道该类的作用,尽量以名词或名词短语命名,使程序员通过类名提供的线索,便可以了解这个类的基本功能。

(2)尽量不使用缩写,而用全写。例如:使用CollegeStudent而不用CollegeStu。

(3)不要使用任何类前缀(例如C)和后缀(例如Class)。

(4)不要使用带下划线的字符(例如College_Student)。

下面是一个合理的类名的示例。

代码19-1  类命名示例

/// <summary>

/// 类名:Pascal命名风格,形如SomeClass。

/// </summary>

pulibc class CollegeStudent

{

      …

}

3.私有成员

类的成员变量采用Camel风格,并使用前缀m_或者_。下面是一些合理的私有成员示例。

代码19-2  私有成员命名示例

class CollegeStudent

{

      /// <summary>

      /// 私有成员命名:Camel命名风格,形如member。

      /// </summary>

      private string m_name;

      private int m_age;

}

另外,有些程序员习惯于使用数据类型前缀,用来确定参数的数据类型。例如strName、nAge等,但这不是通用的规范。

4.属性

类的属性采用Pascal风格。下面是一些合理的属性示例。

代码19-3  属性命名示例

class CollegeStudent

{

      /// <summary>

      /// 属性命名:Pascal命名风格,形如Name。

      /// </summary>

      public string Name

      {

            set

            {

                     if(value!=null)

                            this.m_name=value;

            }

            get

            {

                     return this.m_name;

            }

      }

}

5.方法

通常每个方法都是执行类的一个“动作”,所以对方法的命名应该清楚地说明该方法是做什么的,用“动词+名词”的结构可以更加清晰的表达这种含义。例如,用ShowInfo()代替Info(),用LoadData()代替DataLoad(),这样做的目的是更加明确这个方法的功能。

下面是一些合理的方法名示例。

代码19-4  方法命名示例

class CollegeStudent

{

      /// <summary>

      /// 方法名:Pascal命名风格,形如SomeMethod。

      /// </summary>

      public void EnterSchool() {…}

}

另外,常常使用一些前缀来表达方法的含义,如下。

(1)Is的含义为问一个关于某样事物的问题。例如:IsMale()。

(2)Get的含义为取得一个数值。例如:GetInfo()。

(3)Set的含义为设定一个数值。例如:SetInfo()。

6.方法参数

C#中,方法的参数采用camel风格。另外,有些程序员习惯于使用数据类型前缀,用来确定参数的数据类型。例如strName、nAge等。

下面是一些方法参数命名的示例。

代码19-5  方法参数命名示例

class CollegeStudent

{

      public void SetInfomation(string name,int age){…}

}

7.接口

同方法相似,接口采用Pascal命名规范,取名的规则如下。

(1)使用I作为前缀,表示其为一个接口。

(2)使用名词或名词短语,或者描述行为的形容词来命名接口。例如IComponent(描述性名词)、ICustomAttributeProvider(名词短语)和IPersistable(形容词)。

(3)尽量不使用缩写,而用全写。例如:使用IComponent而不用IComp。

(4)不要使用带下划线的字符(例如ICustom_AttributeProvider)。

例如:

代码19-6  接口命名示例

class CollegeStudent

{

      /// <summary>

      /// 接口名:Pascal命名风格,形如ISomeInterface。

      /// </summary>

      public interface IPlay{};

}

8.变量

局部变量采用camel风格,并尽量使用描述性强的名词或名词短语,并且不使用缩写,如使用number,而不使用num。下面是一些变量命名的示例。

int number=0;

string sqlString=””;

double averageScore=0.0;

CollegeStudent collegeStudent=new CollegeStudent();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值