记录点滴

记录生活

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

net设计规范(2)

1.  要把PascalCasing用于由多个单词构成的名字空间,类型以及成员的名字.

2.  要把camelCasing用于参数的名字.

3.  要把两个字母的首字母缩写词全部大写,除非是camelCasing风格参数名的第一个单词

           System.IO       

          Public void StartIO(Stream ioStream)

4.  要把三个或三个以上字母组成的首字母缩写词的第一个字母大写。只有第一个字母大写,除非是camelCasing风格参数名的第一个单词.

                         System.Xml

                        Public void ProcessHtmlTag(string htmlTag)

5.                Jeffrey Richter : 所有的字段为私有的,实例字段 m_ 前缀,静态字段 s_ 前缀

6.                要优先使用后缀而不是前缀来表示已有API的新版本

7.                要用名词或名词短语来给类和结构命名

8.                要用形容词短语给接口命名

9.                考虑在派生类的末尾使用基类的名字

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

11.              要用复数名词来命名表示位域的枚举类型

12.              要用动词或动词短语来命名方法

13.              要用名词,名词短语或形容词来命名属性

14.              要用描述集合中项目短语的复数形式来命名集合属性

15.              要用动词或动词短语来命名事件

16.              要用名词,名词短语或形容词来命名字段

17.              结构,枚举是值类型

18.              类,集合,数组,异常,修饰属性是引用类型

19.              如果该类型的实例比较小而且生命期比较短,或者经常被内嵌在其他对象中用结构

20.              如果需要提供多态层次结构的值类型用接口

21.              要为抽象类定义受保护的构造函数或内部构造函数

22.              要为值类型实现IEquatable<T>

23.              要优先使用枚举而不要使用静态常量

24.              要在想让一个类型能够访问外层类的成员时才使用嵌套类型

25.              要把最长的重载成员定义成重载成员中唯一的虚成员

26.              考虑使用属性—如果该成员表示类型的一种逻辑属性

27.              如果属性的值存储在进程内存中,而且提供属性的目的仅仅为了访问

28.              考虑通过索引器的方式让用户访问存储在内部数组中的数据

29.              考虑为代表元素集合的类型提供索引器

30.              要把静态构造函数声明为私有的

31.              要用受保护的虚方法来触发事件

32.              不要使用弱类型集合

33.              不要使用ArrayList或List<T> 要用Collection<>

34.              不要使用Hashtable或Dictionary<> 要用IDictionary<>

35.              要为值类型实现IEquatable<T>

36.              避免使用System.DBNull,要优先使用Nullable<T>

posted on 2012-03-20 00:07  啊峰  阅读(353)  评论(0编辑  收藏  举报