没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
框架设计准则
本部分提供了有关设计扩展 .NET Framework 并与 .NET Framework 进行交互的库的指
南。 其目标是通过提供独立于用于开发的编程语言的统一编程模型,来帮助库设计人员
确保 API 一致性和易用性。 建议在开发扩展 .NET Framework 的类和组件时遵循这些设计
准则。 库设计不一致会对开发人员工作效率产生负面影响,并阻碍采用。
本指南分为几组简单的建议,其前缀分别为
Do 、
Consider 、
Avoid 和
Do not 。 这些准
则旨在帮助类库设计人员了解不同解决方案之间的权衡。 在某些情况下,良好的库设计
需要你违反这些设计准则。 这种情况应该很少见,因此你需要依据一个清晰且令人信服
的理由作出决策。
这些准则摘自《Framework 设计准则:可重用 .NET 库的约定、惯例和模式第 2 版》,作
者:Krzysztof Cwalina 和 Brad Abrams。
命名规则
提供针对类库中的命名程序集、命名空间、类型和成员的准则。
类型设计准则
提供有关使用静态和抽象类、接口、枚举、结构和其他类型的准则。
成员设计准则
提供有关设计和使用属性、方法、构造函数、字段、事件、运算符和参数的准则。
扩展性设计
讨论扩展性机制(如子类化、使用事件、虚拟成员和回调),并说明如何选择最能满足框
架要求的机制。
异常设计准则
介绍有关设计、引发和捕获异常的设计准则。
使用准则
介绍有关使用常见类型(如数组、特性和集合、支持序列化以及重载相等性运算符)的准
则。
常用设计模型
提供有关选择和实现依赖项属性的准则。
Portions © 2005, 2009 Microsoft Corporation
版权所有。
保留所有权利。
包含
内容
大小写约定
本章中的指导原则介绍了使用大小写的简单方法,即在应用一致的情况下,使类型、成员
和参数的标识符易读。
若要区分标识符中的单词,请将标识符中每个单词的首字母大写。 不要使用下划线来区
分单词,或在标识符中的任何位置使用下划线。 有两种适当的方法可以根据标识符的使
用将其首字母大写:
PascalCasing
camelCasing
PascalCasing 约定(用于除了参数名称外的所有标识符)将每个单词(包括长度超过两个
字母的首字母缩写词)的第一个字符大写,如以下示例所示:
PropertyDescriptor
HtmlTag
两个字母的首字母缩写词是一种特殊情况,其中两个字母都大写,如以下标识符所示:
IOStream
camelCasing 约定(仅用于参数名称,将每个单词的第一个字符(除第一个单词之外)大
写,如以下示例所示。 如示例中所示,以字母混合形式表示的两个字母首字母缩写词均
采用小写。
propertyDescriptor
ioStream
htmlTag
✔
对于包含多个单词的所有公共成员、类型和命名空间名称,请使用 PascalCasing。
✔
使用 camelCasing 作为参数名称。
下表描述了不同标识符类型的首字母大写规则。
标识符 大小写 示例
命名空间 Pascal
namespace System.Security { ... }
类型 Pascal
public class StreamReader { ... }
接口 Pascal
public interface IEnumerable { ... }
有关标识符的首字母大写规则
标识符 大小写 示例
方法 Pascal public class Object {
public virtual string ToString();
}
属性 Pascal public class String {
public int Length { get; }
}
事件 Pascal public class Process {
public event EventHandler Exited;
}
字段 Pascal public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}
枚举值 Pascal public enum FileMode {
Append,
...
}
参数 混合 public class Convert {
public static int ToInt32(string value);
}
为了实现首字母大写,大多数组合术语都被视为单个单词。
❌
不要将所谓的“闭合形式”组合词中的每个首字母大写。
这些是以单个词(如终结点)形式编写的组合词。 为了符号大小写准则,请将“闭合形
式”组合词视为单个单词。 使用当前字典来确定是否以闭合形式写入组合词。
Pascal 混合 Not
BitFlag bitFlag Bitflag
Callback callback CallBack
Canceled canceled Cancelled
将组合词和常见术语的首字母大写
Pascal 混合 Not
DoNot doNot Don't
Email email EMail
Endpoint endpoint EndPoint
FileName fileName Filename
Gridline gridline GridLine
Hashtable hashtable HashTable
Id id ID
Indexes indexes Indices
LogOff logOff LogOut
LogOn logOn LogIn
Metadata metadata MetaData, metaData
Multipanel multipanel MultiPanel
Multiview multiview MultiView
Namespace namespace NameSpace
Ok ok OK
Pi pi PI
Placeholder placeholder PlaceHolder
SignIn signIn SignOn
SignOut signOut SignOff
UserName userName Username
WhiteSpace whiteSpace Whitespace
Writable writable Writeable
可在 CLR 上运行的语言不需要支持区分大小写,但有些则不需要。 即使你的语言支持,
其他可能访问你框架的语言也不是如此。 因此,外部可访问的任何 API 都不能单独依赖
区分大小写
剩余87页未读,继续阅读
资源评论
码农也疯狂
- 粉丝: 5
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功