• 22/10/2008

本文 内容

遵循 的 命名 准则 适用 于 常规 类型 命名。

✔️ 使用 PascalCasing 将 类 和 结构 命名 为 名词 或 名词 短语。

这 区分 了 方法 中 的 类型 名称 , 这些 类型 名为 带有 谓词 短语。

✔️ 利用 形容词 短语 或 偶尔 用 名词 或 名词 短语 来 命名 接口。

应 很少 使用 名词 和 名词 短语 , 它们 可能 会 指示 该 类型 应 为 抽象 类 , 而 不是 接口。

❌ 不要 为 类 名称 指定 前缀 (例如 , “C”)。

✔️ 考虑 用 基 类 的 名称 结束 派生 类 的 名称。

这 是 非常 可读 的 , 并且 清楚 地 说明 了 该 关系。 代码 的 的 一些 示例 是 : , 它 是 一种 ArgumentOutOfRangeException Exception , 而 SerializableAttribute 是 一种 类型 的 Attribute。 但是 , 的 判断 应用 应用 此 此, 重要; 例如 , Buton 类 是 一种 Control 事件 , 但 Control 它 的 名称 中 没有 显示。

✔️ 使用 字母 I 来 为 接口 名称 加上 前缀 , 以 指示 该 类型 是 接口。

例如 , IComponent (描述 性 名词) , ICustomAttributeProvider (名词 短语) , IPersistable (形容词) 是 适当 的 接口 名称。 对于 其他 类型 名称 , 请 避免 缩写 形式。

✔️ 确保 在 定义 类 接口 对 (其中 类 是 接口 的 标准 实现) 时 , 接口 名称 上 的 “I” 前缀 仅有 不同 的 名称。

泛型 类型 参数 的 名称

已将 泛型 添加 到 .NET Framework 2.0。 此 功能 引入 了 一种 称为类型 参数的 新 标识符。

✔️ 使用 描述 性 名称 命名 泛型 类型 参数 , 除非 单个 字母 名称 完全 一目了然 , 并且 描述 性 名称 不会 添加 值。

✔️ 考虑 使用 T 作为 具有 一个 单 字母 类型 参数 的 类型 的 类型 参数 名称。

public int IComparer <T> {…} public delegate bool Predicat <T> (element T); public struct Nulabil <T> unde T: struct {…}

✔️ 在 中 为 描述 性 类型 参数 名称 加上 前缀 T。

interfata publica ISessionChannel <TSession> unde TSession: ISession {TSession Session {get; }}

✔️ 考虑 , 指示 对 参数 名称 中 的 类型 参数 施加 的 约束。

Ession , 可以 调用 约束 为 的 参数 ISession TSession。

常见 类型 的 名称

当 命名 类型 派生 自 或 实现 某些 .NET Framework 类型 时 , ✔️ 按照 下 表 中 所述 的 指导 原则 进行 操作。

基 类型 派生 / 实现 类型 准则 System.Attribute ✔️ 将 后缀 “Attribute” 添加 到 自 定义 特性 类 的 名称 中。 System.Delegate ✔️ 将 后缀 “EventHandler” 添加 到 在 事件 中 使用 的 委托 的 名称。

✔️ 将 后缀 „Callback” 添加 到 作为 事件 处理 程序 使用 的 委托 的 名称。

❌ 不要 将 后缀 “Delegat” 添加 到 委托。

System.EventArgs ✔️ 添加 后缀 “EventArgs”。 System.Enum ❌ 不要 从 此类 派生; 改为 使用 您 的 语言 支持 的 关键字; 例如 , 在 c # 中 , 使用 enum 关键字。

❌ 不要 添加 后缀 “Enum” 或 “标志”。

System.Exception ✔️ 添加 后缀 “Exception”。 IDictionary

IDictionary <TKey, TValue> ✔️ 添加 后缀 “Dictionary”。 请 注意 , IDictionary 是 一种 特定 类型 的 集合 , 但是 此 准则 优先 于 下面 的 更 常见 的 集合 原则。 IEnumerable

ICollection

IList

IEnumerable <T>

ICollection <T>

IList <T> ✔️ 添加 后缀 “Colectie”。 System.IO.Stream ✔️ 添加 后缀 “Stream”。 CodeAccessPermission IPermission ✔️ 添加 后缀 “权限”。

命名 枚举

通常 情况 下) , 枚举 类型 (名称 也 称为 枚举) 应 遵循 标准 类型 命名 规则 (PascalCasing 等。 不过 , 还有 其他 一些 准则 专门 适用 于 枚举。

✔️ 为 枚举 使用 单 数 类型 名称 , 除非 其 值为 位 域。

✔️ 对 将 位 域 作为 值 的 枚举 使用 复数 类型 名称 , 也 称为 标志 枚举。

En 不要 在 枚举 类型 名称 中 使用 “Enum” 后缀。

❌ 不要 在 枚举 类型 名称 中 使用 “标记” 或 “标志” 后缀。

❌ 不要 在 枚举 值 名称 上 使用 前缀 (例如 , 将 “ad” 用于 ADO 枚举 , 使用 “rtf” 进行 丰富 文本 枚举 等)。

部分 © 2005,2009 Microsoft Corporation。 保留 所有 权利。

经 许可 重印 皮尔逊 教育 , Inc. 的 作者 : 从 框架 设计 指导 原则 : 用于 可 重复 使用 的 .Net 库 的 约定 、 惯例 和 模式; 第 2 版 De Krzysztof Cwalina , Brad Abrams , 通过 Addison-Wesley Professional 作为 Microsoft Windows 开发 系列 的 一部分 2008 发布。

另 请 参阅

  • 框架 设计 准则
  • 命名 准则

video amatoriali 100×100 mila milan xxx
malena double penetration mila porn
gode xxx mila porno
malena pornostar film milamilan
porno 100 italiano milan porn
scopate da sballo milena la pugliese porn
xxx 50 milena la pugliese porno
malena la pugliese scena 1 milena mastromarino anal
sara bell porn milena mastromarino porn
valentina nappi black cock milena mastromarino porno
salieri mario streaming milena mastromarino rocco siffredi
martina smeraldi fake taxi milena mastromarino video xxx
giada da vinci video milena mastromarino xxx
maxfelicitas porno milf figona
italy porn film milf morena
roberta anal milf mouth
centoxcento porno milf pomezia
italian porn sex milf pussy hairy
centoxcento in streaming milf roberta
salieri video xxx milf sfondata