您好,欢迎访问三七文档
编码规范_C#第1页共29页技术文件技术文件名称:编码规范_C#技术文件编号:版本:0.1共29页(包括封面)拟制审核会签标准化批准中兴通讯股份有限公司质企中心IT部编码规范_C#第2页共29页目次前言.....................................................................41范围.....................................................................52术语和定义...............................................................52.1原则.............................................................52.2规则.............................................................52.3建议.............................................................52.4说明.............................................................52.5正例.............................................................52.6反例.............................................................53基本原则.................................................................54布局.....................................................................64.1基本格式.........................................................64.2对齐.............................................................84.3空行空格.........................................................94.4断行............................................................115注释..................................................................126命名规则................................................................167声明....................................................................218表达式与语句............................................................229类和接口................................................................26编码规范_C#第3页共29页版本变更记录版本号拟制/修改日期拟制/修改人修改记录批准人0.12003-3-12于平根据公司设计技术标准改编注:1)拟制、审核、会签、批准不走电子流程时,必须用钢笔或签字笔填写,不得用铅笔、圆珠笔填写,不得涂改。本模板中用“”括起来的内容包括本段,是编写指导,在最终的文档中应予以删除。其它内容应予以保留。如果某节内容无需填写,则在该节下写“无”,而不要将本节删除或不填写任何内容(留白将无法判断:是本节内容无需填写还是因为疏忽而忘了填写。)编码规范_C#第4页共29页前言编写本标准的目的是为了统一软件编程风格,提高软件源程序的可读性、可靠性和可重用性,提高软件源程序的质量和可维护性,减少软件维护成本,最终提高软件产品生产力。本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。本规范的示例都以C#语言描述。本规范的内容包括:基本原则、布局、注释、命名规则、声名、表达式与语句、类与接口等。规范最后给出了标准模版供软件人员参考。自本标准实施之日起,以后新编写的和修改的代码均应执行本标准。编码规范_C#第5页共29页1范围本标准规定了C#语言的编程规范,主要包括基本原则、布局、注释、命名规则、声明、表达式与语句、类与接口等。本标准适用于使用C#语言编码的所有软件。本规范自生效之日起,对以后新编写的和修改的代码有约束力。2术语和定义下列术语和定义适用于本标准。2.1原则编程时应该坚持的指导思想。2.2规则编程时必须遵守的约定。2.3建议编程时必须加以考虑的约定。2.4说明对此规则或建议的必要的解释。2.5正例对此规则或建议给出的正确例子。2.6反例对此规则或建议给出的反面例子。3基本原则说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。说明:简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。说明:编程时以该规范为准,规范没有规定的内容参考上面的标准。【原则1-1】首先是为人编写程序,其次才是计算机。【原则1-2】保持代码的简明清晰,避免过分的编程技巧。【原则1-3】所有的代码尽量遵循公共语言规范(CLS)。编码规范_C#第6页共29页说明:编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素,最后才考虑程序的效率和资源占用。说明:尽量选择可借用的代码,对其修改优化以达到自身要求。说明:事实上,我们无法做到完全消除错误,但通过不懈的努力,可以减少同样的错误出现的次数。4布局程序布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。同时,对于普通程序员来说,养成良好的编程习惯有助于提高自己的编程水平,提高编程效率。因此,统一的、良好的程序布局和编程风格不仅仅是个人主观美学上的或是形式上的问题,而且会涉及到产品质量,涉及到个人编程能力的提高,必须要引起重视。4.1基本格式说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。正例:usingSystem;namespaceZTE.xxx{///summary///版权所有:版权所有(C)2004,中兴通讯【原则1-4】编程时首先达到正确性,其次考虑效率。【原则1-5】尽量避免使用GOTO语句。【原则1-6】尽可能重用、修正老的代码。【原则1-7】尽量减少同样的错误出现的次数。【规则2-1-1】源代码文件(.cs)的布局顺序是:using语句、命名空间、注释、类。编码规范_C#第7页共29页///内容摘要:本类是…..,包括主要……模块、……函数及功能是…….///完成日期:输入完成日期,例:2004年3月1日///版本:///作者://////修改记录1:修改历史记录,包括修改日期、修改者及修改内容///修改日期:///版本号:///修改人:///修改内容:///修改记录2:…////summarypublicclassSample{}}说明:using命名空间语句的排列顺序为System开头的命名空间在最前面,接下来是引自外部的命名空间,再接下来是应用程序自身的命名空间,即using中标准的命名空间要在本地的命名空间之前,而且按照字母顺序排列。正例:usingSystem;//.Net自身的usingSystem.Data;usingFarPoint.Win.Spread;//第三方的usingZTE.DSS.Public;//程序自身的说明:包括空格在内不超过80列。说明:这样可以防止书写失误,也易于阅读。正例:if(varible1varible2){【规则2-1-2】遵循统一的布局顺序来书写using语句,不同类别的using语句之间用空行分隔。【规则2-1-3】程序中一行的代码和注释不能超过80列。【规则2-1-4】if、else、elseif、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。编码规范_C#第8页共29页varible1=varible2;}反例:下面的代码执行语句紧跟if的条件之后,而且没有加{},违反规则。if(varible1varible2)varible1=varible2;说明:这样便于程序阅读和查找。正例:iLength=10;iWidth=5;//矩形的长与宽关系较密切,放在一起。StrCaption=“Test”;反例:iLength=10;strCaption=“Test”;iWidth=5;4.2对齐说明:消除不同编辑器对TAB处理的差异,有的代码编辑器可以设置用空格代替TAB键。说明:这样使代码便于阅读,并且方便注释。dowhile语句和结构的类型化时可以例外,while条件和结构名可与}在同一行。正例:voidFunction(intiVar){//独占一行并与引用语句左对齐。while(condition){DoSomething();//与{}缩进4格}}反例:voidFunction(intiVar){〖建议2-1-4〗源程序中关系较为紧密的代码应尽可能相邻。【规则2-2-1】禁止使用TAB键,必须使用空格进行缩进。缩进为4个空格。【规则2-2-2】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。{}之内的代码块使用缩进规则对齐。编码规范_C#第9页共29页while(condition){DoSomething();}}正例:tPDBRes.wHead=0;tPDBRes.wTail=wMaxNumOfPDB-1;tPDBRes.wFree=wMaxNumOfPDB;tPDBRes.wAddress=wPDBAddr;tPDBRes.wSize=wPDBSize;4.3空行空格说明:空行起着分隔程序段落的作用。适当的空行可以使程序的布局更加清晰。正例:voidHey(void){[Hey实现代码]}//空一行voidAck(void){[Ack实现代码]}反例:voidHey(void){[Hey实现代码]}voidAck(void){[Ack实现代码]}//两个函数的实现是两个逻辑程序块,应该用空行加以分隔。【规则2-2-3】相关的赋值语句等号对齐。【规则2-3-1】不同逻辑程序块之间要使用空行分隔。编码规范_C#第10页共29页正例:!bValue~iValue++iCount&fSumaiNumber[i]=5;tBox.dWidth正例:fValue=fOldValue;fTotal+fValueiNumber+=2;说明:if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。说明:函数名后紧跟左括号‘(’,以与关键字区别。正例:例子中的凵代表空格。for凵(i凵=凵0;凵i凵凵MAX_BSC_NUM;凵i++){DoSomething(iWidth,凵iHeight);}正例:【规则2-3-2】一元操作符如“!”、“~”、“++”、“--”、“*”、“&”等前后不加空格。“[]”、“.”这类操作符前后不加空格。【规则2-3-3】多元运算符和它们的操作数之间至少需要一个空格。【规则2-3-4】
本文标题:中兴编程规范_C#
链接地址:https://www.777doc.com/doc-3584558 .html