C#项目开发实例之规范的制定

开发 后端
本文将介绍C#项目开发实例之规范的制定,这里还将介绍一些命名规范,供读者在开发中参考。希望本文对大家有所帮助。

C#项目开发实例中,对于规范的制定,是很重要的要求。合理的方法名,合适的命名都是C#项目开发实例中规范的内容,可大大提高系统的可维护性和健壮性,并可使系统关系清晰。

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

[[5474]]说明

常用的命名风格如下。

(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  类命名示例

  1. ///   
  2. /// 类名:Pascal命名风格,形如SomeClass。  
  3. /// 
  4.  
  5. pulibc class CollegeStudent  
  6. {  
  7.       …   

3.私有成员

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

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

  1. class CollegeStudent  
  2. {  
  3.       ///   
  4.       /// 私有成员命名:Camel命名风格,形如member。  
  5.       /// 
  6.  
  7.       private string m_name;  
  8.       private int m_age;  

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

4.属性

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

代码19-3  属性命名示例

  1. class CollegeStudent  
  2. {  
  3.       ///   
  4.       /// 属性命名:Pascal命名风格,形如Name。  
  5.       /// 
  6.  
  7.       public string Name  
  8.       {  
  9.             set 
  10.             {  
  11.                      if(value!=null)  
  12.                             this.m_name=value;  
  13.            }  
  14.             get 
  15.             {  
  16.                      return this.m_name;  
  17.             }  
  18.       }  

5.方法

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

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

代码19-4  方法命名示例

  1. class CollegeStudent  
  2. {  
  3.       ///   
  4.       /// 方法名:Pascal命名风格,形如SomeMethod。  
  5.       /// 
  6.  
  7.       public void EnterSchool() {…}  

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

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

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

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

6.方法参数

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

下面是一些方法参数命名的C#项目开发实例。

代码19-5  方法参数命名C#项目开发实例

  1. class CollegeStudent  
  2. {  
  3.       public void SetInfomation(string name,int age){…}  

7.接口

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

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

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

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

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

例如:

代码19-6  接口命名示例

  1. class CollegeStudent  
  2. {  
  3.       ///   
  4.       /// 接口名:Pascal命名风格,形如ISomeInterface。  
  5.       /// 
  6.  
  7.       public interface IPlay{};  

8.变量

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

  1. int number=0;  
  2. string sqlString=””;  
  3. double averageScore=0.0;  
  4. CollegeStudent collegeStudent=new CollegeStudent(); 

【编辑推荐】

  1. C# 泛型类型参数浅析
  2. C# 类型参数约束分析及应用浅析
  3. C# 泛型接口应用浅析
  4. C# 泛型方法概念及使用浅析
  5. C# 泛型数组学习小结
责任编辑:彭凡 来源: CSDN博客
相关推荐

2009-08-21 08:59:35

C#语言规范

2021-03-15 08:18:23

C#反射模块

2009-09-01 10:37:51

C#项目代码C#代码规范

2015-07-09 10:44:48

C#WebService

2009-09-01 17:08:14

C#画线控件

2009-08-31 09:41:05

C#反射静态方法开发

2009-08-05 16:04:27

C# Actor模型

2009-09-07 06:18:57

C#窗体设计器

2009-08-24 16:11:35

C#项目开发

2009-08-20 17:22:45

C# FileSyst

2009-08-27 16:30:08

C#编程命名规范

2009-09-01 18:29:10

C#继承C#多态

2009-08-21 08:52:40

C#语言命名

2009-08-13 13:38:30

C#命名规范

2009-05-22 11:01:53

C++JavaC#

2009-08-28 16:37:32

C# for循环

2009-08-27 13:30:11

C# interfac

2009-08-24 16:08:45

C# DrawStri

2009-08-31 17:16:12

C#实现接口

2009-08-27 17:40:21

C#接口的作用
点赞
收藏

51CTO技术栈公众号