3.11 类命名

  .NET框架系统中类的命名总是包含着各种含义,无论是命名空间还是类甚至是变量。良好的命名规范这能够让使用它 的人非常容易理解并方便阅读和使用。在系统开发中,对于程序开发人员而言,也推荐统一并按照一定的规范来命名,这用同样为了方便阅读和维护。

3.11.1 命名空间的命名
  在.NET框架中,包含很多系统的命名空间,示例代码如下所示。
+展开
-C#
using System;//System命名空间
using System.Collections.Generic;// System.Collections.Generic命名空间
using System.Linq; // System.Linq命名空间
using System.Text;// System.Text命名空间

  上述代码中,开发人员能够非常方便的了解使用了什么命名空间,这个命名空间大概都能做什么操作,例如System.Linq就是为了支持3.5中LINQ的特性而提供的命名空间。当开发人员创建命名空间时,命名空间的名称应该避免与公司名称或其他品牌的名称相同,例如为了做Office开发扩展,可能会命名为Microsoft.Office,但是此命名空间已经在.NET框架中被使用了,所以编译器会报错。

技巧:尽量使用开发人员开发组或公司的名称作为命名空间,因为开发组或公司的名称能够表示这个程序或组件是来自哪里。不仅如此,开发组或公司的名称也能在一定程度上避免了重复,例如HuaWei.TcpIp.Class既能表示华为的TCP/IP研发小组,又可以很大程度上的避免重复。

3.11.2 类的命名原则
  同样,类的命名也是有原则的,其原则基本上同命名空间一样,类名尽量使用Pascal大写,减少类名称的所写的使用量,并且不推荐使用前缀和下划线。正确的类命名如下所示。
+展开
-C#
    class SystemMessage//良好的命名
    {
    }

  上述代码命名了SystemMessage类,用来表示系统发出的消息,SystemMessage类的名称能够让开发人员清晰的了解该类的基本用途。

3.11.3 接口的命名原则
  接口的命名原则与类基本相同,不同的是,在接口的命名中,接口名前应加上大写字母“I”来表示这是一个接口而不是一个类。示例代码如下所示。
+展开
-C#
    public interface ISystemMessage//良好的接口命名
    {
        void SystemOutput(string str);
    }
    public interface IUserMessage//良好的接口命名
    {
        void Output(string str);
    }


3.11.4 属性的命名原则
  属性的命名中,通常需要在属性名后加上Attribute,来表示自定义属性类,说明该类用来封装属性,示例代码如下所示。
+展开
-C#
    public class PersonInformationAttribute//属性命名
    {
    }


3.11.5 枚举的命名原则
  枚举的命名同样使用Pascal大写。枚举值的名称同样需要使用Pascal大写,并同样避免枚举名称中所写的使用量。枚举的命名不需要加入任何的后缀,示例代码如下所示。
+展开
-C#
    public enum FileType
    { 
        Txt,//定义枚举成员Txt
        Mp3, //定义枚举成员Mp3
        Mp4, //定义枚举成员Mp4
        Doc, //定义枚举成员Doc
        Pdf,//定义枚举成员Pdf
        Html,//定义枚举成员Html
        Htm,//定义枚举成员Htm
    }

  如果需要使用数字值,这可以使用Flags对属性进行自定义,示例代码如下所示。
[Flags]//使用Flags属性标记
+展开
-C#
]    public enum FileType
    {
        Txt,//定义枚举成员Txt
        Mp3,//定义枚举成员Mp3
        Mp4,//定义枚举成员Mp4
        Doc,//定义枚举成员Doc
        Pdf,//定义枚举成员Pdf
        Html,//定义枚举成员Html
        Htm,//定义枚举成员Htm
    }


  在Win32 API中,这种类型是非常常见的,但是不同的是,Win32 API中的枚举成员都是大写的,但是在.NET中还是推荐使用Pascal大写。

3.11.6 只读字段的命名原则
  只读字段在应用程序的开发中通常作为不可改变的变量而使用,只读字段一旦进行了声明,在代码中就无法对只读字段进行更改。只读字段通常用于声明那些在现实中规定好的变量,例如π的值、一千克的精确重量等等。
只读字段的命名同一般的变量的声明方法相同,但是只读字段推荐使用Pascal大写命名规则进行只读字段的变量命名。

3.11.7 参数名
  参数名应该具有描述性,即一个参数能够描述当前参数的意义,例如computerUser能够描述一台电脑的使用者,而不应该命名为其他没有意义的字符,例如abc,并推荐使用camel大写方式命名。参数的命名应该根据参数的意义来命名,而不是根据参数的种类,并且不提倡使用保留参数、下划线等。示例代码如下所示。
+展开
-C#
        public void Set(string computerUser)//参数声明
        { }


3.11.8 委托命名原则
对于委托,使用EventHandler作为后缀命名委托处理程序,示例代码如下所示。
+展开
-C#
        public delegate void BetaDelHandler(string str);//委托命名

  对于委托的参数,也有相应的命名规范,在参数中,使用名为sender和e两个参数,sender参数代表提出委托的对象。sender参数是一个类型的对象,为Object类的对象,e代表与事件相关的状态,示例代码如下所示。
+展开
-C#
        public delegate void BetaDelHandler(Object sender,EventArgs e);//委托的参数

加支付宝好友偷能量挖...


评论(0)网络
阅读(80)喜欢(0)Asp.Net/C#/WCF