• .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设计规范三:类型和类型成员设计的约定和惯用法

  • 相关阅读:
    程序员常见的坏习惯,你躺枪了吗?
    程序员常见的坏习惯,你躺枪了吗?
    程序员常见的坏习惯,你躺枪了吗?
    ACM2037
    [Golang]字符串拼接方式的性能分析
    如果一个类同时继承的两个类都定义了某一个函数会怎样呢 | Code4Fun
    Python学习笔记(四)函数式编程
    MySql之增删改查 · YbWork's Studio
    季銮西的博客
    ActiveMQ学习总结(一)
  • 原文地址:https://www.cnblogs.com/yangcaogui/p/2459567.html
Copyright © 2020-2023  润新知