.NET设计规范一:设计规范基础

  前一段时间阅读了“.NET设计规范”这本书,读后给我的感觉是规范对开发人员有着举足轻重的重要,可能我们都有自己的想法,但我相信遵循这些前辈们总结的规范将给我们的开发带来裨益,所以熟知这些开发规范并养成良好的习惯是需要我们坚持的,慢慢这些规范将潜移默化的影响着我们!

  1.80/20原则

    所谓的80/20原则,是在一些特殊情况下,要重视那“20%”的部分,“80%”的部分可以减轻重视度,其实我们大多数人都知道有这么一个原则,但是我还没有真正的把这个原则用于实践中去,如果你常用这个原则去审视一些大型项目的话,那里面就会有很多设计用刀这个原则的,比如前一段时间一篇文章关于“baidu”以及“Google”的分页问题,它就很好的运用了80/20这一个原则,好了,不多说了,开始规范之旅...

 

    2.类型命名规范

    2.1大小写规范

      有两种命名术语:①PascalCasing → 帕斯卡命名法 (单词的首字母要大写)

              ②camelCasing → 驼峰命名法 (第一个单词的首字母小写)

      注意事项:

      ①要把“camelCasing ”规范用于参数以及变量的命名

      ②命名时不要使用首字母缩写 ,除了特殊情况,如 → System.IO

      ③“PascalCasing”使用的主要区域为 → 图示 

       

        

    2.2类型名称单词的选择

      ①要为名称选择易于阅读的名字

      ②不要跟C#中的关键字产生冲突      

      ③不要使用单词缩写以及单词的首字母缩写

      ④不要使用那些还没有流行的首字母缩写

      ⑤选择的单词要有含义

 

    2.3命名空间

      规范:简单易懂,并具有概括性

      

      具体规范如下:

       ①使用公司名作为前缀

                 ②使用稳定的,与版本无关的产品名称作为空间的第二层!

                 ③使用PascalCasing大小写风格!

                 ④考虑在适当的名称中使用复数 → System.Collections

                 ⑤不要引入太一般的类型名,如Log,Message,应该在它们之前加上限定词!

       Note:书中有介绍程序集的章节,只可惜我对它理解的不是很好,就没有写上来!

 

    2.3类,结构,接口的命名

      Note:类型名应该是一个名词名词词组,如果没有为类型名找到一个很好的名词或名词词组,那么应该考虑重新设计名称了!

      选择名称的方法:首先你要知道你设计的类型应用于哪个场景,知道这个场景是干嘛的,然后选择合适的名词或名词词组进行设计!

      如:Stream,StreamReader,TextReader,StringReader这一类的名称设计,或者我要设计一个Json的操作类库,可以命名为 → JsonOperation

      具体规则:      

       ①使用名词或名词词组进行命名,并采用“PascalCasing”大小写风格!

                 ②不要给任何一个类型名加前缀,这是大忌(接口除外)!

                 ③考虑让派生类的名称以基类的名称结尾

                      如:Exception,它所有的派生类都是以“Exception”基类名称结尾!

                           或者是“Attribute”之类的

       .NET Framework中的一些派生类命名规则(详细的在后一篇文章会涉及到),图示:

 

         

                 ④接口 → 以字母“I”为前缀开头,这样使用者就一目了然,这是一个老习惯了!

                 ⑤应该使得实现接口的类型名跟接口名只相差一个字母“I”!

        如:接口IJsonOperation,实现它的类名称应该为 → “JsonOperation”

 

    2.4泛型类型参数的命名      

      ①要尽可能的用描述性的名字来命名泛型类型参数,应该在单词前面加上前缀“T”

      

      ②考虑用“T”来命名参数类型

                       如果只有一个参数类型,如 → List<T>

      ③如果泛型参数有了泛型约束,应该把约束的类型名追加的泛型参数上

                       可以把一个被限制为ISession接口的类型参数命名为 → “TSession”

    

    2.5枚举类型的命名

      ①也要遵守“PascalCasing”大小写规范

      ②要用单数名词来命名枚举类型

      ③要用复数名词来表示“位标记(Flags)”的枚举类型,如:

1    [Flags]
2     public enum Colors  //如果是为标志,建议采用复数的形式
3     {
4         Read,
5         Black,
6         Yellow
7     }

      ④不要给枚举名添加“Enum”或者“Flag”或“Flags”的后缀,也不要添加前缀

    

    虽然很基础,但是对于我们这些门外汉有着举足轻重的作用,一起努力!

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

转载于:https://www.cnblogs.com/yangcaogui/archive/2012/04/18/2447049.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
共3个rar文件,链接: http://download.csdn.net/source/469595 http://download.csdn.net/source/469605 http://download.csdn.net/source/469608 本书为框架设计师和广大开发人员设计高质量的软件提供了权威的指南。书中介绍了在设计框架时的最佳实践,提供了自顶向下的规范,其中所描述的规范普遍适用于规模不同、可重用程度不同的框架和软件。这些规范历经.NET框架三个版本的长期开发,凝聚了数千名开发人员的经验和智慧。微软的各开发组正在使用这些规范开发下一代影响世界的软件产品。.<br>本书适用于框架设计师以及相关的专业技术人员,也适用于高等院校相关专业的学生和教师阅读参考。... <br><br>“在微软,本书所讲述的规范已经指导我们经历了.NET框架三个版本和无数其他项目的开发,而且它正在指导着下一代Windows操作系统API——WinFX的开发。我希望你也能凭借此书,开发出容易理解和使用的软件。”<br>——Anders Hejlsberg,微软杰出工程师,C#和Delphi之父<br><br>“本书是所有.NET开发人员的必读之作,这些来自微软.NET开发小组的真知灼见对于理解.NET之所以然至关重要,不仅能帮助开发人员设计自己的类库和框架、组件,而且有助于更加高效地使用.NET框架。”<br>——Jeffrey Richter,著名技术作家,《Microsoft .NET框架程序设计》、《Windows核心编程》作者<br><br>本书中的规范凝聚了数千名微软精锐开发人员的经验和智慧,最终成为微软内部公认的设计规范。本书针对的是.NET平台上的框架设计,但对.NET之外的其他平台的框架设计同样具有借鉴意义。书中的大多数规范对于使用.NET框架创建高质量的普通应用程序至关重要。<br>本书包含许多评注,解释了相应规范的背景和历史,读来令人兴味盎然。从中你能够读到来自Anders Hejlsberg、Jeffrey Richter、Paul Vick等微软技术大师们的声音。...

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值