框架设计指南.NET库的约定、惯例与模式(抄录)

一、命名。

1,参数使用camelCasing,其他处都使用pascalCasing。长度超过两个字母的首字母缩写词同样处理。由两个字母组成的首字母缩写词作为特殊情况,都大写。对于总是被写作一个单词的复合词,比如endpoint,应该当做一个单词看待(需要英语功底)。

名字清楚比简短更重要,单词写全不要简写。

其他:PropertyDescriptor、HtmlTag、IOStream、EndpointDescriptor

参数:htmlTag、propertyDescriptor、ioStream、endpointDescriptor

不要使用匈牙利命名。

2,以大的功能来命名DLL,一个DLL可以有多个命名空间

3,使用单数名称来命名枚举,除非它是比特值。

4,要使用肯定语气的短语,命名布尔类型。

二、类型

1,在类class和结构体struct之间选择。class是引用类型,struct是值类型

2,在类class和接口interface之间选择。一般使用抽象类(而非接口)来分离协议与实现。

当一个类派生自一个基类时,这个派生类与基类之间有“是一个”的关系。当类实现一个接口时,这个实现类与接口之间有“可以做”的关系。

抽象类、静态类

方法为主的类vs属性为主的类。属性应当被看做更聪明的字段,它既有字段的调用语法,也具有方法的灵活性。建议为构造函数每个参数添加相应的属性。

事件设计。事件是最常用的回调形式。事件使用的委托(按照惯例)具有特殊的签名,被称为事件处理器。当他们(用户)订阅一个事件时候,用户将提供一个事件处理器的实例,该实例与一个方法绑定,该方法将在事件发生时被调用。用户提供的方法被称为事件处理方法。时间是特殊的回调,他提供委托(事件处理器)。

枚举:一定要在枚举的最后一个成员后面添加可选的尾部逗号。

在枚举参数和布尔参数之间选择。

在字段上使用下划线作为前缀,一般不需要使用this.

在变量声明和方法调用中,要使用语言关键字string、int、double等,而不是BCL中的类型名称String、Int32、Double等。

你可能感兴趣的:(c#,sql)