编码命名规范(.NET)(很全 很实用)
项目的代码命名规范
基于.NET项目的代码书写规范要求书第一章主体命名规范外挂服务命名规范服务项目命名所有服务项目名使用ESrv(注意大小写)开头,第五位字母开始自订义,但是第五位字母必须大写。
比如ESrvDemo1,其中Demo1为自定义名称。
二、类成员访问权限规范所有类成员要严格的按照成员的使用性质,设置它们的访问修饰符,修饰符的意义如下:声明的可访问性意义l public //访问不l 受限制。
l protected //访问仅限于包含类或从包含类派生的类型。
l internal //访问仅限于当前程序集。
l protected internal //访问仅限于从包含类派生的当前程序集或类型。
l private //访问仅限于包含类型。
第二章代码书写规范一、代码注释规范1) .cs文件的注释所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等格式如下://********************************************************////创建日期: 2004.7.19//作者: XXX//功能说明:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX////********************************************************函数参数命名及过程注释参数一定要能说明要传递的意思,用对应的英文或相近的英文单词表示均小写开头。
所有的函数体开头都要加上注释,所以注释使用.NET注释规范,如下格式:/// <summary>/// 构造函数/// </summary>/// <param name="netPath">示例参数1</param>/// <param name="myPath">示例参数2</param>public UpgradeThread(string netPath, string myPath){程序语句。
华为软件编码规范
华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹1-1:程序块要采用缩进风格编写,缩进的空格数为4个说明:对于由开发工具自动生成的代码可以有不一致。
¹1-2:相对独立的程序块之间、变量说明之后必须加空行示例:如下例子不符合规范。
Int ni;if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;应如下书写Int ni;if (!valid_ni(ni)){... // program code}repssn_ind = ssn_data[index].repssn_index;repssn_ni = ssn_data[index].ni;¹1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读示例:perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL );act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied= stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false= SYS_get_sccp_statistic_state( stat_item );report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)&& (n7stat_stat_item_valid (stat_item))&& (act_task_table[taskno].result_data != 0));¹1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首示例:if ((taskno < max_act_task_number)&& (n7stat_stat_item_valid (stat_item))){... // program code}for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++){... // program code}for (i = 0, j = 0;(i < first_word_length) && (j < second_word_length);i++, j++){... // program code}¹1-5:若函数或过程中的参数较长,则要进行适当的划分示例:n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object),sizeof (_STAT_OBJECT));n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。
.Net项目命名规范
.Net项⽬命名规范⽬录dotShare系统改造项⽬的建设过程中,将涉及到Visual 、Web站点,业务对象及数据库,同时项⽬⼈员包括设计⼈员、开发⼈员和测试⼈员等较多。
为了保持应⽤程序、组件、⽂件的⼀致性,便于阅读和管理代码和结构,提⾼开发效率和产品的标准化,特制订⼀套开发规范和标准(包括命名规范和编码规范)。
好的编码约定可使源代码严谨、可读性强且语意清楚,做到与其它语⾔约定相⼀致,并且提⾼直观性。
希望设计/开发⼈员严格遵守此套开发规范和标准,并落实到⾃⼰的设计与代码程序中。
命名规范将包括:编程命名规范,业务对象命名规范,数据库命名规范,Web站点结构命名规范等。
编码规范将包括:C#编码规范,第三⽅模块使⽤规范等本命名规范主要针对使⽤Visual (语⾔及C#语⾔)规范,即编程命名规范部分。
请注意:在本项⽬过程中,C#将作为⾸选语⾔,如⾮特别必要,不要选⽤。
变量命名的总原则是⼀个通⽤性的原则,本规范后续章节中的命名规则都应当符合这些总原则。
·变量名称应当准确完整地描述了变量的含义·名称应当反映了业务上的问题⽽不是技术上或编程上的解决⽅法·名称的长度应当⾜够长·名称的最后⼀部分应当有限定符·应当⽤Count, Index或Nbr代替Num, No.·循环计数变量的的名称应当有含义(如果循环语句的长度超过了两⾏或者存在着嵌套循环,尽量避免使⽤I,j,k之类的变量,应该使⽤有意义的变量)·临时变量的命名应当有意义·所有布尔型变量的命名能够直接从名称上看出为真的条件·枚举类型的变量名称应当包含了基础类型,能够⽅便的分辨变量的类型。
例如:⽤Color变量表⽰ ColorRed, ColorGreen枚据类型的值。
·命名的常量应当代表了抽象的实体⽽⾮他们所代表的值·从变量命名中应当可以看出变量的作⽤域是局部变量,模块变量或者全局变量·变量的名称中不同的单词⾸字母要⼤写,以⽅便阅读·如果不是绝对必须,尽量避免使⽤短的名称·如果变量中单词的缩写只能缩短⼀两个字符则使⽤单词的完全拼写·所有单词的缩写规则应当⼀致·名称具有误导性·两个不同的命名具有相似的含义·不同的命名拼写很相似,仅差⼀两个字符·在变量名称中不应当使⽤数字·完全和变量含义不相关的命名使⽤下⾯的三种⼤写标识符约定。
常见的软件版本编号及命名
常见的软件版本编号及命名1、RC,GARC:就是Release Candidate(候选版本)的缩写GA:就是General Availability,正式发布的版本Alpha:内测版。
Alpha是希腊字母的第一位的英文谐音,就是α,用在软件版本中就是表示最初级的版本。
通常情况下Alpha是内部测试版,一般不向外部发布,会有很多Bug。
除非你也是测试人员,否则不建议使用。
Beta:公测版。
Beta是希腊字母的第二位的英文谐音,就是β,是一个比Alpha稍高的版本。
Beta 也是一个测试版本,在正式版推出之前发布,主要用于面向公众进行测试及Bug收集,这个阶段的版本Bug可能较多,并且可能会加入一些新的功能。
Delux:豪华版。
Plus版和Delux版区别不大,比普通版本多了一些附加功能。
EVAL:体验版或评估版。
功能上和正式版没有区别,但存在一些时间或空间上的限制。
Final:正式版。
软件的正式版本,修正了Alpha版和Beta版的Bug。
Free:免费版。
Full:完全版。
OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。
只能随机器出货,不能零售。
如果买笔记型计算机或品牌计算机就会有随机版软件。
包装不像零售版精美,通常只有一面CD和说明书(授权书)。
Plus:加强版。
Pro:专业版。
需要注册后才能解除限制,否则为评估版本。
RC(Release Candidate):Candidate是候选人的意思,用在软件上就是候选版本,而Release Candidate 就是发行候选版本,也就是说这还不能算是正式的发布版。
和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错!RTL(Retail):零售版。
正式上架零售版。
RTM(Release to Manufacture):程序代码开发完成之后,要将母片送到工厂大量压片,这个版本就叫做RTM版。
代码编写规范说明书
代码编写规范说明书(c#.net与)目录1 目的2 范围3 注释规范3.1 概述3.2 自建代码文件注释3.3 模块(类)注释3.4 类属性注释3.5 方法注释3.6 代码间注释4 命名总体规则5 命名规范5.1 变量(Variable)命名5.2 常量命名5.3 类(Class)命名5.4 接口(Interface)命名5.5 方法(Method)命名5.6 名称空间Namespace)命名6 编码规则6.1 错误检查规则6.2 大括号规则6.3 缩进规则6.4 小括号规则6.5 If Then Else规则6.6 比较规则6.7 Case规则6.8 对齐规则6.9 单语句规则6.10 单一功能规则6.11 简单功能规则6.12 明确条件规则6.13 选用FALSE规则6.14 独立赋值规则6.15 定义常量规则6.16 模块化规则6.17 交流规则7 编程准则7.1 变量使用7.2 数据库操作7.3 对象使用7.4 模块设计原则7.5 结构化要求7.6 函数返回值原则8 代码包规范8.1 代码包的版本号8.2 代码包的标识9 代码的控制9.1 代码库/目录的建立9.2 代码归档10 输入控制校验规则10.1 登陆控制10.2 数据录入控制附件1:数据类型缩写表附件2:服务器控件名缩写表1 目的一.为了统一公司软件开发设计过程的编程规范二.使网站开发人员能很方便的理解每个目录,变量,控件,类,方法的意义三.为了保证编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。
四.编码规范和约定必须能明显改善代码可读性,并有助于代码管理、分类范围适用于企业所有基于.NET平台的软件开发工作2 范围本规范适用于开发组全体人员,作用于软件项目开发的代码编写阶段和后期维护阶段。
3 注释规范3.1 概述a) 注释要求英文及英文的标点符号。
b) 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。
编码规范
编码规范概述
编码规范的必要性
① 有助于程序的维护,降低软件生命周期成本,符 合项目管理的规律 ② 使团队中相关人员的流动对项目的影响尽可能小, 有利于项目的控制与管理; ③ 提高程序的可读性,有利于相关设计人员交流, 提高软件质量; ④ 容易发现代码的问题,调试时比较容易 ⑤ 体现公司形象
实例讲解
• C#的编码规范
– 代码格式
代码的格式包括缩进、换行、空行、空格等,为了不影响编码的效率,在此只作如下规定: • 空格、空行不做严格的固定,以使代码清晰为基本原则。空行不影响程序的运行,但可 以使代码看起来清晰,增加可读性,因此可以适当的多用。 • 代码的缩进建议使用tab键进行控制,tab键的大小设置为4个空格。每个层次都要进行缩 进。 如:
if (isOverFlow) { return false; }
• 换行,掌握的原则是不要使一行代码特别的长,再不产生严重歧义或增加阅读难度的情 况下,尽量控制在120列之内,以方便代码的打印。另外,换行的原则是,在逗号后,操 作符前换行,换行与首行要保持一个单位的缩进。 如: string strSql = “SELECT ID,NAME,SEX,BIRTHDAY,” + “BELONGCLASSID,BELONGGRADEID “ + “FROM STUDENTINFO”; • { }必须单独在一行上,且上下对齐。 • if,while,do,try-catch-finally等语句后必须有{},即使里面只有一条语句或为空,且遵循 { }单独成行的原则。
实例讲解
• C#的编码规范
– 注释(续)
• 特别注意,如果是在已经发行版本的基础上添加、修改、删除代码,则需要将原先的代 码注释掉,而不是直接删除掉,然后添加自己的代码。如: 添加新代码的注释: //add by [姓名] yyyyMMdd xxx // add by [姓名] yyyyMMdd 修改代码的注释: //update by [姓名] yyyyMMdd // xxx yyy // update by [姓名] yyyyMMdd 删除代码的注释: //delete by [姓名] yyyyMMdd //xxx // delete by [姓名] yyyyMMdd
代码规范及编码原则
代码规范及编码原则代码规范及编码原则1.1代码风格的原则是:简明,已读,⽆⼆义性。
每⼀个优秀的程序员都应该遵循代码规范及编码原则。
读了《构建之法》第四章后,我们组进⾏简洁总结。
1.2程序风格:1、缩进:4个空格2、⾏宽:限制⾏宽3、括号:在复杂的条件表达式中,⽤括号清楚地表⽰逻辑优先级4、{}号:每个{}号独占⼀⾏5、分⾏:不要把多条语句放在⼀⾏变量命名规则(1) 变量名的命名规则;分析:变量名的命名规则遵循⽤户⾃定义标识符命名规则(1)只能由字母、数字、下划线组成;(2)第⼀个字符必须是英⽂字母;(3)有效长度为255个字符;(4)不可以包含标点符号和类型说明符%,&,!,# ,@,$;(5)不可以是系统的关键词⽐如else注释1、多余的注释要舍弃2、复杂的注释放在函数头函数,过程1.函数的规模尽量限制在200⾏以内。
2.⼀个函数最好仅完成⼀件功能。
3.为简单功能编写函数。
4.函数的功能应该是可以预测的,也就是只要输⼊数据相同就应产⽣同样的输出。
5.函数的命名法应使⽤驼峰命名法或者下划线命名法,驼峰和下划线不能同时使⽤。
除了此书外,《Clean Code》也可以帮助程序员学习代码规范。
下⾯是Clean Code读书笔记⼀、整洁代码1. 概念代码正确简洁明了清晰易读短⼩精确⼆、命名1.准确:名字与意义匹配易于区别2.实⽤使⽤读的出来的名称使⽤可搜索的名称3.明确⼀个概念对应⼀个词不⽤双关语使⽤有意义的语境三、函数1.短⼩2.职责单⼀3.⼀块代码中,函数的抽象层级需⼀致4.函数命名规范(参照⼆)5.参数尽可能少6.如果函数需要的参数要求数量有多种,应考虑将其封装成类7.实⽤异常类代替返回错误码,抽离try/catch代码块,使代码更加简洁四、注释1.少⽤注释,尽可能通过规范的代码来表达2.不使⽤⽆意义的注释3.必要的注释:法律信息提供信息的注释对代码意图进⾏解释的注释警⽰信息,防⽌踩坑TODO注释:未来得及完成的部分4. 对于⽆⽤的代码应直接删除⽽不是注释五、格式1.为什么需要规范格式易维护易拓展2.垂直格式⾏数少,短⼩精悍概念隔离,不同的的概念/逻辑代码实⽤空⾏隔离相关靠近:对于关系紧密的代码,尽量写在⼀起3.⽔平格式缩进、对齐六、对象与数据结构1.区别:过程式代码便于在不改动既有数据结构的前提下添加新函数⾯向对象代码便于在不改动既有函数的前提下添加新类亦即:过程式代码难以添加新数据结构,因为必须修改所有函数⾯向对象代码难以添加新函数,因为必须修改所有类七、错误处理1.使⽤异常⽽⾮返回码:更加美观、整洁2.使⽤不可控异常可控异常的代价是违反开放/闭合原则,因为你需要在使⽤的地⽅捕获异常3.在异常发⽣的地⽅添加环境说明:这样当异常发⽣的时候就可以根据这些信息定位异常原因4.不返回null 也不传递null这样在接收的时候不需要进⾏空值检查⼋、边界翻了下原书,边界是Boundaries 对于这个名字,开始不是⼤理解,就算现在看来也还是觉得不直观标题略晦涩:作者的意思应该是让我们让⾃⼰的代码和第三⽅库代码不要耦合太紧密,需有清新的边界对于第三⽅类库给的学习建议是:探索性地学习测试,以此熟悉类库,写出良好的代码来源:https:///mummyding/article/details/51326238。
软件编码规范
C#编码规范文档版本V0.011.目的规范C#代码的书写,提高代码的可读性,使开发人员在代码上更好的协作,减少新开发成员熟悉现有代码的时间,间接提高软件代码的可维护性。
2.命名规范1)命名约定标识符构成:所有标识符应由一个或多个完整的英文单词构成,除通用的缩略词如IO、Http、id等或是项目特定的专用缩略词如项目名称的缩写等,不应使用未被普遍接受的单词缩略形式。
可以适当使用下划线“_”。
2)大小写约定Pascal : 组成标识符的所有单词的首字母大写,如Get、BackColor。
Camel : 组成标识符的第一个单词全小写,后续单词首字母大小,如get、backColor。
全大写:组成标识符的所有单词的所有字母全部大写。
缩略词:➢不要使用半个单词的缩写形式,如GetWin,而应使用GetWindow。
➢不要使用不被普遍认可的首字母缩写。
在适当情况下,使用通用的首字母缩写,如UI表示User interface,而OLAP表示On-line Analytical Processing。
两个字母的缩写单独使用时可以适当使用全大写书写风格替代Pascal风格。
➢不要在标识符或参数名中使用首字母缩写,必须使用时,应使用Camel形式。
➢Id不是首字母缩写,不应使用全大写方式。
3)C#命名规范以.Net 公共语言规范(CLSCompliant)为基础,规定标识符的命名规则。
4)代码书写风格使用Visual Studio默认书写风格,在签入代码之前,应使用Ctrl + K, Ctrl + D快捷键格式化代码,保证源码管理服务器对代码差异的正确评估。
5)编码要求1.单个类、方法的代码行数不应过长,否则应考虑进行拆分。
2.局部变量引用Disposable类实例的,必须使用using 语法进行Dispose 操作。
或在特殊情况下,使用try{..} finally {…} 进行手动Dispose操作。
3.类的实例字段包含Disposable 类型的,类必须也要实现IDisposable接口。
.NET命名规范中文版
.NET命名规范中⽂版避免使⽤由经常使⽤的名称空间复制的类型名。
类型名不能使⽤下列词语。
System Collections Forms UI 避免避免使⽤与常⽤关键词词语选择避免冲突的标识符。
例如,避免使⽤下列词语。
AddHandlerAddressOf Alias And AnsiAs Assembly Auto BitAnd BitNotBitOr BitXor Boolean ByRef ByteByVal Call Case Catch CBoolCByte CChar CDate CDec CDblChar CInt Class CLng CObjConst CShort CSng CStr CTypeDate Decimal Declare Default DelegateDim Do Double Each ElseElseIf End Enum Erase ErrorEvent Exit ExternalSource False FinallyFor Friend Function Get GetTypeGoto Handles If Implements ImportsIn Inherits Integer Interface IsLet Lib Like Long LoopMe Mod Module MustInherit MustOverrideMyBase MyClass Namespace New NextNot Nothing NotInheritable NotOverridable ObjectOn Option Optional Or OverloadsOverridable Overrides ParamArray Preserve PrivateProperty Protected Public RaiseEvent ReadOnlyReDim Region REM RemoveHandlerResumeReturn Select Set Shadows SharedShort Single Static Step StopString Structure Sub SyncLock ThenThrow To True Try TypeOfUnicode Until Variant When WhileWith WithEvents WriteOnly Xor evalextends instanceof package var不要使⽤缩写。
.NET开发规范
.NET开发规范编写:审核:批准:目录1.概述 (4)2.命名规范 (4)2.1.类、参数和方法的命名规范 (4)2.2.接口命名规范 (4)2.3.动态语言文件命名规则 (5)2.3.1.格式:性质_描述 (5)2.4.客户端JavaScript规范 (5)2.4.1.变量命名规范 (5)2.4.2.对象命名规范 (5)2.5.控件命名规范 (5)2.6.图片的命名原则 (6)2.7.数据库命名规范 (7)2.7.1.命名规范原则 (7)2.7.2.数据库规范 (7)2.7.3.表命名规范 (7)2.7.4.字段规范 (8)2.7.5.视图规范 (8)2.7.6.存储过程规范 (8)2.7.7.函数规范 (8)2.7.8.索引命名规范 (8)2.7.9.关联命名 (8)2.7.10.设计规范 (8)3.编码规范 (8)3.1.C#代码编写 (8)3.2.Request、Session、Application使用规范 (12)3.3.HTML标记语言编码规范 (12)3.4.注释规范 (12)3.5.异常规范 (15)1.概述为了保持应用程序、组件、文件的一致性,便于阅读和管理代码和结构,提高开发效率和产品的标准化,特制订一套开发规范和标准(包括命名规范和编码规范)。
命名规范将包括:类和参数的命名规范、接口命名规范、数据库命名规范、ASP命名规范、JavaScript命名规范、控件命名规范等。
编码规范将包括:C#编码规范、注释规范、HTML编码规范、编码规范、异常规范等。
2.命名规范2.1.类、参数和方法的命名规范2.1.1.用名词或名词短语命名类。
2.1.2.使用Pascal大写注记:Pascal 大小写形式-所有单词第一个字母大写,其他字母小写。
2.1.3.不要使用匈牙利命名法2.1.4.用有意义的,描述性的词语来命名变量- 别用缩写。
用name, address, salary等代替nam, addr, sal 。
ASP NET编码规范书
第一部分:界面设计标准1.开发环境设置:屏幕设置为800*600/1024*7682.界面设计原则:风格必须统一3.B/S结构开发原则:使用框架/模板4.页面使用div+css布局,局部可以用表格(Table)进行格式设置。
5.对齐:文字(标签)右对齐;数字(数据)右对齐;文字(数据)左对齐,比较短的可以居中对齐;金额,需加上千位符6.冒号必须是在中文输入状态下键入第二部分:命名规范1.按钮ID命名:btn+按钮操作功能(如btnSave)2.其它控件:I.与数据操作相关:其ID<.SPAN>为相应的字段名称,如果有多个控件对应一个字段,则按以下规范命名:字段名+”_”+顺序号(以01开头)例子:页面有一TextBox控件,对应着数据库表中的RightGroup字段,则其ID应命名为 RightGroup如果页面有二个TextBox控件,都对应着数据库表中的PowerGroup字段,则其ID分别命名为PowerGroup_01, PowerGroup_02,依此类推II.3.变量及常量命名规范:I.变量:数据类型前缀+<名词|名词组合>类变量: dim strNewline as string或者: dim newline as string尤其在c#语言中一般不用加数据类型前缀,因为现在的.net开发环境已经很智能化,可以自动识别数据的类型。
所有常见加前缀的情况是在用vb或者中II.页面间变量:采用request传递获取命名原则:数据类型前缀+<名词|名词组合>例子:url=”XXXX.aspx?strLine=bbbbb&intNum=11”Dim strLine as string=Request(“strLine”)Dim intNum as integer=request(“intNum”) End sub第三部分:编码规范2.格式化代码A.嵌套块应有严格的层次缩进(每一层分别缩进1个Tab,注:每个Tab为4个英文字符)B.一个过程或函数不能太长,大致上应限制在100行内,否则应将其拆分为多个过程或函数C.当产生长字符串时,使用下划线连接字符产生多行代码D.对数据库进行访问数据库、保存、删除、显示数据等操作时,统一使用公用类。
Java命名规范(非常全面)
Java命名规范(⾮常全⾯)⽬录1.包命名规范2.类命名规范2.1接⼝命名规范2.2抽象类命名规范2.3异常类命名规范3.⽅法命名规范3.1表述获取3.2表述查询3.3表述条件3.4表述设置3.5其他规范4.变量命名规范5.常量命名规范6.枚举命名规范7.其他命名规范7.1数组7.2表述复数或者集合7.3泛型类7.4接⼝实现类7.5测试类和测试⽅法8扩展:速记Java开发中的各种O前⾔:最近发现很多初级程序员写代码时很不规范,⽐如⽅法名类名等,如果遇到有代码洁癖的领导肯定会被骂(什么垃圾代码),下⾯分享⼀篇不错的规范⽂章我将按照项⽬⼯程⽬录结构,从包,类(接⼝,抽象类,异常类),⽅法,变量和常量的顺序展开介绍。
本⽂是 Java 命名规范的介绍,建议收藏转发。
1. 包命名规范包(Package)的作⽤是将功能相似或相关的类或者接⼝进⾏分组管理,便于类的定位和查找,同时也可以使⽤包来避免类名的冲突和访问控制,使代码更容易维护。
通常,包命使⽤⼩写英⽂字母进⾏命名,并使⽤“.”进⾏分割,每个被分割的单元只能包含⼀个名词。
⼀般地,包命名常采⽤顶级域名作为前缀,例如com,net,org,edu,gov,cn,io等,随后紧跟公司/组织/个⼈名称以及功能模块名称。
下⾯是⼀些包命名⽰例:package org.springframework.boot.autoconfigure.cloudpackage org.springframework.boot.utilpackage org.hibernate.actionpackage org.hibernate.cfgpackage com.alibaba.druidpackage com.alibaba.druid.filterpackage com.alibaba.nacos.client.configpackage com.ramostear.blog.web下⾯是Oracle Java的⼀些常见包命名例⼦:package java.beanspackage java.iopackage ngpackage package java.utilpackage javax.annotation2. 类命名规范类(Class)通常采⽤名词进⾏命名,且⾸字母⼤写,如果⼀个类名包含两个以上名词,建议使⽤驼峰命名(Camel-Case)法书写类名,每个名词⾸字母也应该⼤写。
项目编码规范
项目编码规范(一)命名规范Java包、类的命名应尽量采用完整的英文描述符,一般采用小写英文字母,但类名、接口名以及任何非初始单词的第一个字母要大写,不能用完整英文描述的,应以该英文单词的前四个字母或能代表单词意思的缩写代替。
具体如下:(1)尽量使用完整的英文描述符;(2)采用合适于相关领域的术语(3)采用大小写混合使名字可读(4)尽量少用缩写,确有需要的,要能表达其意义;(5)避免使用长的名字(小于15个字母)(6)避免使用类似的名字,或者是大小写不同的名字;(7)避免使用下划线(除静态常量等);举例如下:包(packge) 采用完整的英文描述符,应该都是由小写字母组成。
对于全局包,将你的internet域名反转并接上包名。
如:com.boyi.eim,com.boyi.oa.web 类(Cla ss) 采用完整的英文描述符,所有单词的第一个字母大写。
如:User,StuManager接口(interface) 采用完整的英文描述符说明接口封装,所有单词第一个字母大写。
名字后面加上后缀Dao,实体类实现接口加上后缀Impl类变量:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。
如:userName参数:同上获取成员函数:封装字段,被访问时调用get set方法普通成员函数:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。
静态常量字段:全部采用大写字母,单词之间用下划线分隔。
循环计数器:通常采用字母I,j,k……………..数组:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写(二)代码注释良好的注释习惯对于一支程序来说,是其易于解读的关键。
也就是说,如果另一个编程人员从未见过这段代码,要在合理的时间内理解代码,需要知道哪些信息。
并以此作为注释的依据。
因此对于注释来说,需要注意以下几点:(1)注释应该增加代码的清晰度;(2)保持注释的简洁;(3)在写代码之前写注释(4)注释出为什么做了一些事,而不仅仅是做了什么使用代码注释的目的:(1)文字说明代码的作用(即为什么要用编写该代码,而不是如何编写);(2)确指出该代码的编写思路和逻辑方法;(3)人们注意到代码中的重要转折点;(4)使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法.代码注释原则:1. 用文字说明代码的作用:简单的重复代码做写什么,这样的注释几乎不能给注释增加什么信息.如果你使用好的命名方法来创建直观明了的代码那么这些类型的注释绝对增加不了什么信息.2. 如果你想违背好的编程原则,请说明为什么:有的时候你可能需要违背好的编程原则,或者使用了某些不正规的方法,.遇到这种情况时,请用内部注释来说明你在做什么和为什么要这样做。
项目编码规范
项目编码规范C#命名规范1.1命名空间框架中所有命名空间的起始部分COM.ACCP业务中所有命名空间的起始部分COM.ASSEMBLY.FOLDER实际结构和名称以业务为准1.2类1)名字应该能够标识事物的特性。
2)名字能够有两个或三个单词组成,但通常不应多于三个。
3)采纳Pascal case,所有单词第一个字母大写。
4)使用名词或名词短语命名类。
5)少用缩写。
6)不要使用下划线字符(_)。
例:public class FileStreampublic class Button1.3接口和类命名规范相同,唯独区别是接口在名字前加上“I”前缀例:interface IDBCommandinterface IButton1.4枚举和类命名规范相同,唯独区别是枚举在名字前加上“E”前缀例:enum ESystemType1.5方法1)使用动词或动词短语命名方法。
2)采纳Pascal case,所有单词第一个字母大写。
3)方法中的参数命名采纳Camel casing,所有单词第一个字母大写,除了首字母小写。
1.6属性1)使用名词或名词短语命名2)采纳Pascal case,所有单词第一个字母大写3)少用缩写4)不要使用下划线字符( _ )1.7变量1)变量名称= 变量的前缀+ 代表变量含意的英文单词或单词缩写。
常用变量类型的前缀命名规则,定义如下:常用对象:2)类的私有变量,在遵循第一条规则后,在其前加“m_”前缀。
例:public class Hello{private string m_strName;public string Name{get{return m_strName;}}}3)即使关于可能仅显现在几个代码行中的生存期专门短的变量,仍旧使用有意义的名称。
仅关于短循环索引使用单字母变量名,如i或j。
4)不要使用原义数字或原义字符串,如for(int i = 1;i <= 7;i++)。
C#编码规范
C#编码规范目录1.规范制定原则 (3)2.命名约定 (3)2.1.名词解释 (3)2.2.区分大小写 (3)3.命名规则 (4)3.1.命名空间 (4)3.2.类 (4)3.3.接口 (5)3.4.属性类 (5)3.5.枚举类型 (6)3.6.参数 (6)3.7.方法 (6)3.8.类数据成员/属性 (6)3.9.事件 (7)3.10.变量定义 (7)3.11.常量定义(const) (8)3.12.界面控件命名 (8)命名 (9)4.注释规则 (9)4.1.注释标签 (9)4.2.文件头部注释 (12)4.3.函数、属性、类等注释 (13)4.4.逻辑点注释 (14)5.代码可读性 (14)5.1.可读性建议 (14)5.2.排版建议 (15)5.3.缩写 (16)5.4.措词 (16)1.规范制定原则1)方便代码的交流和维护。
2)不影响编码的效率,不与大众习惯冲突。
3)使代码更美观、阅读更方便。
4)使代码的逻辑更清晰、更易于理解。
2.命名约定2.1.名词解释1)Pascal 大小写将标识符的首字母和后面连接的每个单词的首字母都大写。
例如:BackColor2)Camel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。
例如:backColor3)大写标识符中的所有字母都大写。
仅对于由两个或者更少字母组成的标识符使用该约定。
例如: IO, UI2.2.区分大小写1)不要创建仅是名称大小写有区别的两个命名空间。
例如,namespace ee.cummings;namespace Ee.Cummings;2)不要创建具有仅是大小写有区别的参数名称的函数。
例如,void MyFunction(string a, string A)3)不要创建具有仅是大小写有区别的类型名称的命名空间。
例如,System.Windows.Forms.Point pSystem.Windows.Forms.POINT p4)不要创建具有仅是大小写有区别的属性名称的类型。
net命名规范
南京丹海电子科技有限公司----内部资料.net开发规范2013-03-12修订历史记录目录一、命名规范 (1)1.1空间命名规范 (1)1.2类命名规范 (2)1.3方法命名规范 (2)1.4参数命名规范 (3)1.5属性命名规范 (3)1.6变量命名规范 (3)1.7常量命名规范 (4)1.8事件命名规范 (4)1.9界面及ADO控件命名规范 (5)二、代码书写格式规范 (9)三、代码注释规范 (10)3.1文件注释规范 (10)3.2函数过程注释规范 (10)3.3常量变量注释规范 (11)3.4代码修改注释规范 (11)南京丹海电子科技有限公司----内部资料一、命名规范C#命名规范主要基于微软的标准,另外加上实际开发的一些具体经验。
它还在不断的维护和完善,针对不同项目的要求,做相应的调整。
1.1空间命名规范使用Pascal大写方式,用逗号分隔逻辑成分。
避免使用著名公司名称或其它著名品牌的名称作为名称空间的前缀。
基本格式:CompanyName/ProjectName.T echnologyName[.Feature][.Design]CompanyName/ProjectName:公司名、项目名称或产品名称;TechnologyName:稳定的、公认的技术名称或架构层次名称;[.Feature][.Design]:可选的功能与设计;例如:namespace SiemensQuotation.BusinessRules.ProjectManagement 西门子报价项目中业务逻辑层中的项目管理其它规则说明:嵌套的命名空间应当有依赖关系。
例如:System.Web.UI.Design 中的类依赖于System.Web.UI 中的类,而不能相反。
命名空间和类不能使用同样的名字。
例如,命名空间Debug下最好不要又一个类名为Debug。
1如果公司名、项目名称或产品名称太长的话,可以用缩写(且全部大写)。
01编码规范
01编码规范C#编码规范 ........................................................................... ...................................................... - 2 -1 文件组织............................................................................ .............................................. -2 -1.1 C#源文件 ........................................................................... .................................... - 2 - 1.2 目录安排 ........................................................................... .................................... - 2 - 2 缩进............................................................................ ...................................................... - 2 -2.1 分行 ........................................................................... ............................................ - 2 - 3 注释............................................................................ ...................................................... - 2 -3.1 块注释 ........................................................................... ........................................ - 2 - 3.2 单行注释 ........................................................................... .................................... - 3 - 3.3文档注释 ........................................................................... ..................................... - 3 - 4 声明............................................................................ ...................................................... - 3 -4.1每行声明的数量 ........................................................................... ......................... - 3 - 4.2 初始化 ........................................................................... ........................................ - 3 - 4.3 类和接口的声明 ........................................................................... ........................ - 3 - 5 语句............................................................................ ...................................................... - 4 -5.1 简单语句 ........................................................................... .................................... - 4 - 5.2 返回语句 ........................................................................... .................................... - 4 - 5.3 If, if - else, if else - if else语句 ........................................................................... .. - 4 - 5.4 for / foreach语句 ........................................................................... ....................... - 5 - 5.5 while / do �C while语句 ........................................................................... .............. - 6 - 5.6 switch语句 ........................................................................... .............................. - 6 - 5.7 try �C catch语句 ........................................................................... ......................... - 6 - 5.8 属性 ........................................................................... ............................................ - 7 - 5.9 枚举 ........................................................................... ............................................ - 8 - 6 空白............................................................................ ...................................................... - 8 -6.1 空行 ........................................................................... ............................................ - 8 - 6.2 内部空格 ........................................................................... .................................... - 8 - 7命名约定............................................................................ ............................................... - 8 -7.1 命名规范 ........................................................................... ................. - 9 - 7.2 WebControl 命名规范 ........................................................................... ............. - 9 - 7.3变量 ...................................................................................................................... - 10 - 7.4其他 ........................................................................... ........................................... - 10 - 8 编程实践............................................................................ ............................................ - 11 -8.1 书写顺序 ........................................................................... .................................. - 11 - 8.2 成员可视性 ........................................................................... .............................. - 11 - 8.3功能单一 ........................................................................... ................................... - 12 - 8.4使用枚举 ........................................................................... ................................... - 12 - 8.5 捕获异常 ........................................................................... .................................. - 13 - 9.其他注意事项............................................................................ .................................. - 13 -C#编码规范1 文件组织1.1 C#源文件把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。
asp.net命名规范
命名规范1.⽤Pascal规则来命名⽅法和类型。
(笔者注:单词⾸字母⼤写)public class DataGrid{public void DataBind(){}}2.⽤Camel规则来命名局部变量和⽅法的参数. (笔者注:⾸单词⼩写,其余单词⾸字母⼤写;笔者使⽤此⽅式命名成员变量) public class Product{private string _productId;private string _productName;public void AddProduct(string productId,string productName){}}补充:使⽤匈⽛利⽅式命名局部变量,⽅法参数和控件命名。
如int iCount,string strNameLabel的lblTitle,Button btnSubmit等3.所有的(私有)成员变量前加前缀“_”。
public class DataBase{private string _connectionString;}不要使⽤public成员变量,⽽⽤.net⾥的属性get,set4.接⼝的名称加前缀 “I”。
public interface IConvertible{byte ToByte();}5.⾃定义的属性以“Attribute”结尾。
public class TableAttribute:Attribute{}6.⾃定义的异常以Exception结尾。
public class TableAttribute:Attribute{}7.⽅法的命名。
⼀般将其命名为动宾短语。
public class File{public void CreateFile(string filePath){}public void GetPath(string path){}}8.局部变量的名称要有意义。
不要⽤x,y,z等等,⽤For循环变量中可使⽤i, j, k, l, m, n。
软件产品版本号命名规范
软件产品版本号命名规范1、目的规范软件产品版本号,避免软件测试、发布时软件各模块版本不兼容问题。
2、范围C3M平台软件及绿色行动管理平台。
3、命名规范软件产品版本号命名规范参考 .Net Framework风格的版本号命名格式,以:主版本号.次版本号.内部版本号.修订号四位表示。
软件初版时,版本号为:1.0.0.0。
主版本号:标识软件架构、设计思想,主版本号不同的程序集不可互换,即使具有相同名称也不可互换。
软件架构、设计思想改变或大量重写,主版本号加1。
主版本号改变,不支持向后兼容性,次版本号、内部版本号及修订号复位为0。
次版本号:当在原有基础上增加了部分功能,涉及数据库的改动,次版本号加1,内部版本号及修订号复位为0。
内部版本号:当软件各模块间接口变更时,内部版本号加1,修订号复位为0。
只要有某个或某几个模块的接口发生变动,所有模块的内部版本号统一增加1。
修订号:名称、主版本号、次版本号、内部版本号都相同,但修订号不相同的程序集可以完全互换。
以软件编译日期(月日)4位数字作为修订号,如10月5号,则为1005。
当天发布的多次软件,用后编译的软件程序完全替换前边编译的软件程序。
主版本号、次版号及内部版本号,其中任何一个如果需要变更,需要向软件负责人申请,由软件负责人确定。
软件负责人将统一修改软件产品版本号,并通知所有相关开发人员。
开发人员每次的改动必须写开发日志,注明改动了哪些东西,修正了哪些BUG,是否对其它模块有影响,是否对数据库有改动。
软件产品所需要的主版本号、次版本号、内部版本号,出现任何一个变更,软件产品需要整体升级。
4、软件模块版本号软件各模块需要独立的主版本号、次版本号、内部版本号,其中对公共模块或公共组件的版本号,为完全独立的版本号,与软件产品版本号的主版本号,次版本号,内部版本号无关。
对业务模块的版本号,其主版本号与软件产品的版本号一致,次版本号,内部版本号为独立版本号。
但要求与软件产品的版本号的编码格式一致。
编码规范
Java语言编码规范1 介绍(Introduction)1.1为什么要有编码规范(Why Have Code Conventions)编码规范对于程序员而言尤为重要,有以下几个原因:可读性:编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码规范性:编码规范可以提高代码的规范性,使程序逻辑更加清晰可维护性:一个软件的生命周期中,80%的花费在于维护;几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护产品发布:如果你将源码作为产品发布,就需要确认它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品为了执行规范,每个软件开发人员必须一致遵守编码规范。
2.文件组织(File Organization)超过2000行的Java程序文件难以阅读,应该尽量避免。
2.1JAVA源文件(Java Source Files)每个Java源文件都包含一个单一的公共类或接口。
若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。
公共类必须是这个文件中的第一个类或接口。
Java源文件还遵循以下规则:开头注释(Beginning Comments)包和引入语句(Package and Import Statements)类和接口声明(Class and Interface Delarations)2.1.1开头注释(Beginning Comments)所有的源文件都应该在开头有一个的注释,其中列出类名、版本信息、日期和版权声明:/*Classname*Version information*Date*Copyright notice*/2.1.2包和引入语句(Package and Import Statements)在多数Java源文件中,第一个非注释行是包语句,在它之后可以跟引入语句。
例如:package java.awt;import java.awt.peer.CanvasPeer;2.1.3类和接口说明(Class and Interface Delarations)下表描述了类和接口声明的各个部分以及它们出现的先后次序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、代码注释 1.注释的目的
a. 文字说明代码的作用 (即为什么要用编写该代码,而不是如何编写); b. 确指出该代码的编写思路和逻辑方法 ; c. 人们注意到代码中的重要转折点 ; d. 使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法
8.增强注释的可读性 a. 使用完整的语句。 b. 避免使用缩写。 c. 将整个单词大写,以突出它们的重要性。
9.请在每个 if 语句/switch 语句/循环语句的前面加上注释
四、类/接口成员设计 1.设计类和方法时的原则
创建更加容易调试和维护的方法 创建具有强大内聚力的类 创建高度专用的方法 创建松散连接的方法 尽量使方法具有独立性 提高方法的扇入性 降低方法的扇出性 2.名称空间引用 using 声明一律以.NET 基础框架命名空间、第三方组件命名空间、最后是公司内部产品 命名空间排序。 using System; using System.Collections; using Microsoft.CSharp; using Sirc.Egss.FileExchangeServer; 3.成员排列规则 尽量不要使用类 public 变量,用属性代替 类成员以 internal、private、protected、public 排列。public 部分按照构造函数、属性、方 法、事件的顺序排列。 4.每个类文件名应尽量保持与内部类名一致 5.尽量避免手动去修改工具环境自动生成的代码 6.避免在一个类文件里放置多个类 7.一个类文件里应该有且仅有一个命名空间,避免在一个类文件里包含多个不同的命名空间 8.避免在一个类文件里代码超过 500 行(除去自动生成的代码) 9.数据结构里,应该总是更倾向使用 C#的范型 generic 10.尽量缩小变量的作用域 11.接口设计 将接口名去掉 I 前缀后,作为这种默认实现类的名称。比如 IComponent 的默认实现类是 Component 每个接口不应当有超过 20 个成员的情况,一般应保持在 12 个左右 12.方法设计 创建松散连接和高度专用的方法 创建方法时,设法将每个方法视为一个黑箱,其他例程不应要求了解该方法的内部工作 情况,该方法也不应要求了解它外面的工程情况。这就是为什么你的方法应依靠参数而不应 依靠全局变量的原因。 a.将复杂进程放入专用方法。 b.将专用方法中可能要修改的代码隔离。 c.将数据输入/输出(I/O)放入专用方法。 d.将业务规则封装在专用方法中。 e.有返回值的方法必须在方法命名里包含对该返回值的信息描述,如 GetObjectStat()。 f.局部变量的声明,应尽可能紧靠在它首次被使用的地方 g.一个方法里的代码避免超过 25 行,最多不能超过 50 行(除去空行、注释) h.一行代码最多不要超过 80 个字符 i.避免使用强制转换,推荐使用 as 操作符进行防御性转换 j.当需要创建一个长字符串时,推荐使用 StringBuilder,而非 string
4.局部变量命名 私有字段、函数参数和函数内部声明的变量使用 camel Casing 不使用的是用以指明字段作用域的前缀。如 s_作为共享字段或静态字段的前缀,以及把
g_作为全局变量的前缀。 不使 用用 以指 明数 据类 型的 匈牙 利前 缀表 示法 ,如 (strReturn)。在 Microsoft Visual
tblc
TableRow
tblr
TextBox
txt
ValidationSummary
vals
txtLastName
16.其它命名 Connection Command Parameter DataAdapter DataReader DataSet DataTable DataRow DataColumn DataRelation DataView
f.成员函数注释 成员函数做什么以及它为什么做这个 哪些参数必须传递给一个成员函数 成员函数返回什么 已知的问题 任何由某个成员函数抛出的异常 可见性决策 成员函数是如何改变对象的 包含任何修改代码的历史 如何在适当情况下调用成员函数的例子适用的前提条件和后置条件
g.成员函数内部注释 控制结构 代码做了些什么以及为什么这样做 局部变量 难或复杂的代码 处理顺序
集。
3.类命名 使用完整的单词,避免用缩写。比如 ButtonGrid 比 BtnGrd 要长,但是完整从而可读性好。
一般使用名词。类通常表示一种对象,而对象一般使用具有名词性质的名称。 异常类命名:类以 Exception 结尾, 比如 class EQException: Exception{}
//===================================================================== ========== 3.避免对很显然易懂的语句进行注释说明 4.代码应该能作到自我解释代码作用的功能。 5.注释来说明何时可能出错和为什么出错 6.在编写代码前进行注释,给类、属性或方法前面加上功能注释 7.注释的内容
backColor
2.名称空间命名 创建命名空间的名称时应使用以下原则:
“公司名称.技术名称.软件产品代号”或“公司名称.产品技术代号” 例如:Nd.ClassLibrary.Charting 命名空间就表示 Nd 公司里的公用类库里的 Charting 画图
类库。 又如:Net91com.Movies.DataAccess 名称空间标识 电影站的数据访问层程序
Label
lbl
LinkButton
lbtn
ListBox
lst
Panel
pnl
RadioButton
rad
RadioButtonList
radl
RangeValidator
valg
RegularExpression
vale
RequiredFieldValidator
valr
Table
tbl
TableCell
7.属性命名 使用 Pascal Casing。
属性名称通常都是名词。例如 Text、SelectedIndex 和 Width。
8.接口命名
使用 Pascal Casing。 在接口名称前缀添加前缀 I 。 接口名称尽量具有描述性,并使用形容词,因为接口常常用于给一个类添加某种能力。
基于形容词的名称有 IComparable 和 IFormattable 等
5.try 的格式 try { ... } catch(Exception e) { ... } //或者 try { ... } catch(Exception e) { ... } finally { ... }
6.空格 对于有两个或两个以上空格时,一般不要使用空格来表示缩进,使用 Tab 逗号、分号之后有一个空格 如:TestMethod(a, b, c); 操作符前后有一个空格,但是单目运算符除外(例如: !运算符)。 如:for(int i = 0; i < 10; ++i)
13.类对象命名 使用 obj 前缀+Pascal 命名的方式,来告知我们这个变量是一个对象 比如:EQApplication objApp = new EQApplication();
14.Attribute Pascal 大小写,并以 Attribute 结尾
15.控件命名
Button
btn
Calendar
conn cmd param adpt dr ds dt row col rel dv
17.注意: 不要使用两个字母一样,但大小写不一样的命名来做命名空间,否则在一些不区分大小写
的语言里将不能正确区分这些命名空间声明。例如:namespace ee.cummings 和 namespace EE.cummings 这两个声明
7.在执行统一任务的各个语句组之间插入一个空行。
8.名称空间写法,各类名称空间插入空行,同一类命命空间按字母序号排列 如:
using System; using System.Text; using System.Collections; using ponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
不要使用大小写区分参数的形式来创建方法。比如:void MyFunction(string a, string A) 不要使用大小写的不同来分别命名一个属性。比如:
int Color { get,set } int COLOR { get,set } 不要使用大小写的不同来分别命名一个方法的名字。比如: void calculate() void Calculate() 不要使用标志名称的一部分作为该标志名称的缩写或简写。比如:GetWindow 简写为 GetWin。 尽量避免用缩写方式来对方法的参数命名,即方法的参数命名尽量保持完整,让人一目了 然。
cal
CheckBox
chk
CheckBoxList
chkl
CompareValidator
valc
CustomValidator
valx
DataGrid
grid
DataList
list
DropDownList
ddl
HyperLink
lnk
Image
img
ImageButton