.NET设计规范二:类型成员设计

  接着 → .NET设计规范一:设计规范基础 上一篇,我们来了解下类型成员命名的设计!

  3.类型成员命名的设计

    3.1字段

      ①遵循“ camelCasing  ”的命名规则

      ②要用名词或名词词组,不要使用C#关键字

      ③不要给字段添加任何前缀

      ④定义常量的时候要使用“PascalCasing ”的命名规范 

      ⑤当定义私有变量的时候使用“camelCasing”命名,并且在前面加上“_”作为前缀

 

    3.2方法

      ①必须为动词词组,不要使用C#关键字

      ②尽量根据方法对应的任务来命名,而不是根据内部一些实现细节来命名!

        常用的动词有:GetUpdateDeleteAddValidateSelectSearch等等,这些动词后面加上你要做的内容,就构成了一个个方法名!

 

    3.3属性

      ①应该用名词或名词词组或形容词或形容词词组来命名,遵循“PascalCaing大小写规范!

      ②不要让属性名与“Get”方法名相似

      

       这种情况说明属性应该是方法,应该合二为一,只定义一个方法!

      ③要使用肯定性的短语,如:CanSeek,而不是CantSeek

      ③如果属性的返回值是“bool”值,可以考虑为属性名添加Is”,“Can”,“Has”等前缀!  

1        public bool CanSeek { get; set; }
2           public bool CantSeek { get; set; }  //不推荐
3           public bool HasValue { get; set; }

      不过这种情况视情况而定,如果加了前缀反而使名称变的冗长了,那么就不要添加前缀了!

      

 

    3.4事件

      推荐文章:C# 中的委托和事件

      事件的设计个人认为是非常重要,所以我也很用心的学习了它.

      基本命名规则:

      ①要用动词或动词词组来命名

        如:CkeckedUpdatedSelected等等的动词或动词词组

      ②不要用“Before”或“After”等词语来表示前置事件或后置事件

      ③需要为事件定义一个参数信息实体,必须要以“EventArgs”后缀结尾

      ④要为绑定事件的方法名加上“On”前缀

       定义事件的基本的框架如下: 

 1     public class DemoSeven
 2     {
 3         public event EventHandler<UpdatedEventArgs> Updated;
 4         private UpdatedEventArgs _updatedEventArgs = new UpdatedEventArgs() { UpdatedID = "1234" };
 5         private EventHandler<UpdatedEventArgs> _updatedHandler;
 6 
 7         private const string str = "";
 8         private readonly string strOne = "";
 9 
10         public void OnUpdated()  //执行事件的方法
11         {
12             _updatedHandler = Updated;
13             if (_updatedHandler != null)
14             {
15                 _updatedHandler(this, _updatedEventArgs);
16             }
17         }
18     }
19 
20     public class UpdatedEventArgs : EventArgs  //参数信息实体类
21     {
22         public string UpdatedID { get; set; }
23     }

   

    3.5索引器

      其实说明白点索引器就是对集合或数组的封装.

      索引器的设计规则基本上都是固定的,都是使用“this”关键字的,如下:

1         public string this[int index]
2         {
3             get { return ""; }
4         }
5 
6         public string this[int index, string name]
7         {
8             get { return ""; }
9         }

 

    3.6资源的命名

      可能在转换多国语言的时候会用到资源,那么资源里面参数的命名也变的很重要了!

      ①使用PascalCasing 命名方法,不要使用C#关键字

      ②要是名字具有描述性,而不是一味的把名字变短,当然也要保证名字的简短性,不过前提不能牺牲可读性

      ③尽量使用字母,数字和下划线

      ④要用点号来标识符清楚的划分层次

      

      ⑥对待异常信息要加上“Exception”的后缀

  如果大家都知道,就当复习咯!

  下一篇:.NET设计规范三:类型和类型成员设计的约定和惯用法

posted @ 2012-04-20 18:10  TimYang  阅读(2362)  评论(0编辑  收藏  举报