命名规范(3)标识符的命名

程序集和DLL的命名

  程序集是一个部署单元,同时还代表托管程序的身份,虽然程序集可以分布在一个或多个文件中,但一般一个程序集仅与一个DLL相对应。夸文件的程序集很少使用,Visual Studio也没有支持他的内建。

  命名空间与DLL和程序集是不同的概念,命名空间对开发人员来说是一组逻辑实体,而DLL和程序集则是用于打包和部署的一个单元。DLL可以包含多个命名空间,由于命名空间的组织方式与DLL不同,所以可以单独设计,而不需要讲两者强制关联。

  要为程序集和DLL选择具有代表性的名字,如System.Data,这样很容易就知道它的大致功能。

  考虑用<Company>.<Component>.dll的模式给DLL命名。其中<Component>可以包含多个圆点分隔的子句,如Microsoft.VisualBasic.dll   Microsoft.VisualBasic.Vsa.dll。

命名空间的命名

  命名空间模板:<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

  要用公司的名称作为命名空间的前缀。

  要用稳定的、与版本无关的产品名称作为命名空间的第二层。

  不要根据公司的组织架构来决定命名空间的层次结构,因为公司内部组织经过一段时间之后可能会发生改变。要根据相关技术来组织和划分命名空间的层次结构。

  考虑适当的时候在命名空间中使用复数。如:System.Collections

  不要用相同的名字给命名空间和类型命名。

命名空间与类名的冲突

  不要引入太一般化的类型名,如Node、Element、Log及Message,这样的名字很可能会在常见的场景中引起类型名的冲突,应该给一般化的类型名加上限定符(XmlNode、FormElement、...)。

  对于不同的命名空间,有具体的规范来避免类型名冲突。命名空间的类型如下:

    应用程序模型命名空间(application model namespace)

    基础设施命名空间(infrastructure namespace)

    核心命名空间(core namespace)

    技术命名空间组(technology namespace group)

  不要在单个应用程序模型中为命名空间中的多个类型起相同的名字。

  不要给类型起会与核心命名空间中的任何类型产生冲突的名字。如Stream很容易和System.IO.Stream冲突。

  不要给类型会与同一技术中的其他类型产生冲突的名字。

  不要在技术命名空间和应用程序模型命名空间的类型之间引入类型名冲突(除非两者不打算一起使用)。

类、结构和接口的命名

  要用名词或名词短语来给类和结构命名。如果无法找到一个名词或名词短语,那就应该重新考虑该类型的总体设计;另一种选择类型名字的方法是通过场景的角度。

  要用形容词短语来命名接口,在少数情况下也可以用名词或名词短语。

  不要给类名加上符号“C”作为前缀。

  要让接口的名字已字母“I”开头,这样可以显示出该类型是一个接口。

泛型类型参数的命名

  要用描述性的名字来命名泛型类型参数,除非一个字母就能说明含义就无需使用描述性的名字,如List<T>、Convert<TInput,TOutput>。

  考虑用单个字母“T”来命名参数类型,如果类型只有一个类型参数且类型参数只有一个字母。

  要给描述性的类型参数名加上“T”前缀。

  考虑在类型参数名中显示出施加于该类型参数上的约束。

常用的类型命名

  如果要从.NET框架中所包含的类型派生新的类型,或者实现.NET框架中的类型,那么应该遵循下表中的规范。

  

枚举类型的命名

  要用单数名词来命名枚举类型,除非它表示的是位域(bit field),即位域要用复数名词来命名。  

 1     public enum ConsoleColor {
 2         Black,
 3         Blue,
 4         Red
 5         //...
 6     }
 7
 8     [Flags]
 9     public enum ConsoleModifiers {
10         Alt,
11         Control,
12         Shift
13     }

类型成员的命名

方法的命名

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

属性的命名

  要用名词、名词短语或形容词来命名属性

  要用描述集合中项目短语的复数形式来命名集合属性,而不要使用短语的单数形式加“List”或“Collection”后缀。

  要用肯定性的短语来命名布尔属性,可以选择“Is”、“Can”、“Has”等前缀。

  考虑用属性的类型名来命名属性

1     public enum Color{/*...*/}
2
3     public class Control {
4         public Color Color { get; set; }
5     }

事件的命名

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

  要用现在时和过去时来赋予事件名以之前和之后的概念。如Colse事件的Colosing(关闭前)、Colsed(关闭后)。

  要在命名事件处理函数(用作事件的委托)时加上“EventHandler”后缀。

  要在事件处理函数中用sender和e作为两个参数的名字。

字段的命名

  要用名词、名词短语或形容词来命名字段。

  不要给字段(静态共有字段和静态受保护字段)名加前缀,但是大家都喜欢给私有字段加上“_”前缀。

  对于静态共有字段和静态受保护字段命名时要用算驼峰风(PascalCasing)格。

参数的命名

  要使用描述性的参数名。

  考虑根据参数的意思而不是参数的类型来命名参数。

重载操作符的参数命名

  要使用left和right来命名重载二元操作符的参数。

  要用value来命名重载一元操作符的参数。

  考虑使用有意义的名字来命名重载操作符的参数。

  不要在命名重载操作符的参数时,使用缩写或数字编号。

资源的命名

  本地资源就好比是属性,所以命名方式与属性的命名规范相似。

  要在命名资源键(resource key)时使用PascalCasing大小写风格。

  要使标识符的名字具有描述性,而不是注重简洁性。

  资源名一般是有字母、数字、下划线组成。(有时候我也会用中文,但不知道会不会有字符编码的问题)

  

时间: 2024-08-24 14:30:12

命名规范(3)标识符的命名的相关文章

CSS+div-页面div的的命名规范-样式文件的命名规范

1. 页面div的的命名规范: header------------------------头部 content-----------------------内容 nav----------------------------导航 mainnav--------------------主导航 subnav-----------------------子导航 mainnav--------------------主导航 sidebar-----------------------侧栏 loginb

.NET设计规范————命名规范

NET设计规范:约定.惯用法与模式———命名规范 前言: 最近在看<.NET设计规范:约定.惯用法与模式>一书,主要还是讲.NET的设计规范,以前对这一块也不是特别在意,最近想要把这些系统的学习一下,以下基本上算是读书笔记吧. 第三章命名规范 3.1 大小写约定 使用合适的大小写可以使类型.成员以及参数的标识符更容易阅读 3.1.1 标识符大小写原则 为了区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写,有以下两种合适的方法来大写标识符中的字母,如下: l  Pascal Casi

JavaScript中标识符的命名

JavaScript中的标识符的命名有以下规则: 由字母.数字.$._组成 以字母.$._开头 不可以使用保留字!!! 要有意义!!!!!!! 标识符的命名规范: 1.驼峰命名法 除标识符的第一个单词外,其余单词的首字母大写,例如:trueName 2.蛇型命名法 单词之间用_隔开,例如:true_name (注:大多数情况下,以1~2个下划线开始的标识符,代表特殊变量或内部变量,我们在自己定义的时候,尽量避免使用以下划线开头的变量) (粗浅的见解,望批评指正) 原文地址:https://www

HTML命名规范

一.关于选择器的命名 W3C CSS2.1的 4.1.3 节中提到:标识符(包括选择器中的元素名,类和ID)只能包含字符[a- zA-Z0-9]和ISO 10646字符编码U+00A1及以上,再加连字号(-)和下划线(_):它们不能以 数字,或一个连字号后跟数字为开头.它们还可以包含转义字符加任何ISO 10646字符作为一个数 字编码. 注:由于设计到的字符很多,本文只针对字符[a-zA-Z0-9],再加连字号(-)和下划线(_)进行讨论. 关于CSS中允许使用的字符和大小写信息,请参考W3C

Android命名规范(重点讲解:包名)

Android程序开发中,使用规范的命名有益于程序的开发和后期阅读.本文主要对Android程序包名的定义做详细介绍,并附带一些简单的命名规则. 一.标识符命名方法1 .小驼峰命名法,除首单词外,其余所有单词的第一个字母大写.如:allPrice,getAllNames2.大驼峰命名法,所有单词的第一个字母大写.如:GuideActivity,StudentInfoBean3.下划线命名法:单词与单词间用下划线做间隔.如:activity_main,select_backGround_color

CSS命名规范

html页面的CSS.DIV命名规则 CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:

JAVA命名规范

定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性. 包的命名  (全部小写,由域名定义) Java包的名字都是由小写单词组成.但是由于Java面向对象编程的特性,每一名Java程序员都 可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀. 由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀. 例如:net.frontfree.javagroup

说说变量命名规范的重要性

在编程过程中一定要注意代码命名的规范性,否则在使用和维护过程中将造成很大的麻烦,这也是一种良好的编码习惯. 看下面代码,除了userPass命名规范[小驼峰命名法],其他的都不规范. uId:看get方法,就会发现是getuId(),因为java生成get方法时,先看变量的前两个字母,如果第二个字母不是大写,则第一个大写. UserMoney:看set方法,UserMoney=userMoney,没有了this. username:往往第二个单词首字母需要大写.

项目复习期总结3:CSS引入方式,注释,命名规范,背景,行高,文本属性

目录: 1.CSS注释的书写 怎么写?好处? 2.CSS引入方式  各种的优缺点 3.选择器的写法与选择器的优先级 4.CSS命名规范 5.背景,行高 6.文本(text与font开头)等所有属性 ① CSS注释书写规范: 1.单行注释:    直接写在属性值的后面,如: ① .search{ border:1pxsolid#fff;/*定义搜索输入框边框*/ background:url(../images/icon.gif)no-report#333;/*定义搜索框的背景*/ } ② .wr