• C# 接口命名规范


    接口命名规范:
    1.大写约定
    PascalCasing:帕斯卡命名法,每个单词首字母大写
    应用场景:命名空间、类型、接口、方法、属性、事件、字段、枚举、枚举值
    eg:HtmlTag IOStream
    注意:两个字母的缩略词,两个字母都要大写 IOStream

    camelCasing:首字母小写(双字母缩写都小写)
    应用场景:参数
    eg:htmlTag ioStream

    2.通用命名约定
    word选择:
    选择易读标识符名称
    可读性高于简洁性
    不要用_、连字符或数字
    不要用匈牙利表示法
    避免和编程关键字冲突的标识符

    使用缩写和首字母缩写词:
    不要在标识符中使用缩写形式或缩略形式
    不要使用不常用缩写形式
    eg:GetWindow 非 GetWin

    避免特定于语言的名称:
    选择有意义的名称,eg:GetLength 非 GetInt

    为现有API的新版本命名:
    使用旧版API类似的名称
    优先用后缀体现新版本
    考虑使用全新但有意义的标识符
    在添加任何有意义的后缀都不合适的情况下,用数字后缀指示新版本
    不要用"Ex"(或类似)表示不同版本

    3.程序集和DLL的名称
    为程序集DLL选择使人联想到大量功能的名称

    4.命名空间的名字
    规则:<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
    用一个公司作为前缀
    第二级名称使用稳定的、与版本无关的名称
    使用PascalCasing命名法
    适当使用复数形式
    不要引入泛型类型名称、如:Element、Node、Log和Message等等
    应用程序模块命名空间
    基础结构命名空间
    核心命名空间(System、System.IO、System.Net):不要使用与核心命名空间冲突的类型名称
    技术命名空间组:两个命名空间节点一致,属于同一单一技术的类型之间不能相互冲突

    5.类、结构和接口的名称
    使用PascalCasing命名法
    用形容词短语命名接口
    不要给类名加前缀(eg:C)
    考虑用基类名称作为派生类的结尾
    接口名称加"I"
    确保类和接口的名称区别仅在于前缀"I"

    泛型参数名称:
    用描述性名称命名泛型参数,可用T作为参数名称
    用T参数名称的前缀

    常见类型名称:
    属性:加Attribute
    委托:委托名称中加后缀:EventHandler
    使用委托的方法加后缀:Callback
    不要加:Delegate
    事件参数:加后缀:EventArgs
    枚举:不要加enum或flag后缀
    异常:加Exception后缀
    字典:加Dictionary
    集合:Collection
    流:加后缀Stream
    许可:加后缀 Permission

    命名枚举:
    PascalCasing命名法
    单数类型的名称
    不要Enum、Flag等后缀
    不要前缀

    6.类型成员名称
    方法名称:谓词或谓词短语表示
    属性名称:
    名词或形容词、
    不要用与Get方法匹配的属性、
    用复数形式,而不是list后缀
    用肯定语气命名bool值,或者 Is 、Can 或 Has 前缀
    用属性类型来命名

    事件名称:
    用谓词或谓词短语命名
    用现在时或过去时表示事件先后概念,用ing或ed后缀,而不是Before或After
    用EventHandler后缀来命名事件,用EventArgs 命名参数
    事件中使用两个名为 object sender 和 ClickedEventArgs e 的参数

    字段名称:
    用PascalCasing命名
    用名词、名词短语或形容词命名字段
    不要使用前缀

    7.命名参数
    用camelCasing命名
    用描述性参数名称
    用基于参数含义而非参数类型的名称

    命名运算符重载参数:
    参数无意义: 二元运算符用left和right;一元运算符用value

    8.命名资源
    用PascalCasing命名
    用描述性标识符而非简短标识符
    不要使用特定关键字
    只能使用字母、数字、下划线
    异常消息资源命名:ArgumentExceptionInvalidName

  • 相关阅读:
    linux中systemctl详细理解及常用命令
    Hadoop中的java基本类型的序列化封装类
    理解javaBean
    hadoop之mr框架的源码理解注意点
    python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
    Hadoop MapReduce执行过程详解(带hadoop例子)
    为什么hadoop中用到的序列化不是java的serilaziable接口去序列化而是使用Writable序列化框架
    Java代码如何关联Hadoop源码
    关于版本控制
    GIT和SVN之间的五个基本区别
  • 原文地址:https://www.cnblogs.com/DONET-LC/p/10850016.html
Copyright © 2020-2023  润新知