分享
 
 
 

命名规范标识符的命名

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

命名规范(1)大小写约定命名规范(2)通用命名约定程序集和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、...)。

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

应用程序模型命名空间(applicationmodel 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),即位域要用复数名词来命名。

1publicenumConsoleColor {2Black,3Blue,4Red5//...6}78[Flags]9publicenumConsoleModifiers {10Alt,11Control,12Shift13}

类型成员的命名方法的命名要用动词或动词短语来命名方法。

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

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

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

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

1publicenumColor{/*...*/}23publicclassControl {4publicColor Color {get;set; }5}

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

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

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

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

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

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

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

参数的命名要使用描述性的参数名。

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

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

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

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

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

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

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

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有