中兴编程规范_C#.docx

上传人:lao****ou 文档编号:409934 上传时间:2023-10-26 格式:DOCX 页数:28 大小:67.03KB
下载 相关 举报
中兴编程规范_C#.docx_第1页
第1页 / 共28页
中兴编程规范_C#.docx_第2页
第2页 / 共28页
中兴编程规范_C#.docx_第3页
第3页 / 共28页
中兴编程规范_C#.docx_第4页
第4页 / 共28页
中兴编程规范_C#.docx_第5页
第5页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《中兴编程规范_C#.docx》由会员分享,可在线阅读,更多相关《中兴编程规范_C#.docx(28页珍藏版)》请在第一文库网上搜索。

1、ZTE中兴技术文件技术文件名称:编码规范_c#技术文件编号:版本:0.1共29页(包括封面)拟制审核会签标准化批准中兴通讯股份有限公司质企中心IT部前言41 范围52 术语和定义51.1 1原则51.2 规则51.3 建议51.4 说明51.5 正例51.6 反例53 基本原则54 布局64 .1基本格式65 .2对齐86 .3空行空格97 .4断行115 注释126 命名规则167 声明218 表达式与语句229 类和接口26版本变更记录版本号拟制/修改日期拟制/修改人修改记录批准人0.12003-3-12于平根据公司设计技术标准改编注:1)拟制、审核、会签、批准不走电子流程时,必须用钢笔或

2、签字笔填写,不得用铅笔、圆珠笔填写,不得涂改。本模板中用“”括起来的内容包括本段,是编写指导,在最终的文档中应予以删除。其它内容应予以保留。如果某节内容无需填写,则在该节下写“无”,而不要将本节删除或不填写任何内容(留白将无法判断:是本节内容无需填写还是因为疏忽而忘了填写,),11刖百编写本标准的目的是为了统一软件编程风格,提高软件源程序的可读性、可靠性和可重用性,提高软件源程序的质量和可维护性,减少软件维护成本,最终提高软件产品生产力。本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。本规范的示例都以C#语言描

3、述。本规范的内容包括:基木原则、布局、注释、命名规则、声名、表达式与语句、类与接口等。规范最后给出了标准模版供软件人员参考。自本标准实施之日起,以后新编写的和修改的代码均应执行本标准。1范围本标准规定了C#语言的编程规范,主要包括基本原则、布局、注释、命名规则、声明、表达式与语句、类与接口等。本标准适用于使用C#语言编码的所有软件。本规范自生效之日起,对以后新编写的和修改的代码有约束力。2术语和定义下列术语和定义适用于本标准。2. 1原则编程时应该坚持的指导思想。2.2 规则编程时必须遵守的约定。2.3 建议编程时必须加以考虑的约定。2.4 说明对此规则或建议的必要的解释。2.5 正例对此规则

4、或建议给出的正确例子。2.6 反例对此规则或建议给出的反面例子。3基本原则【原则1-1】首先是为人编写程序,其次才是计算机。说明:这是软件开发的基本要点,软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力。【原则1-2】保持代码的简明清晰,避免过分的编程技巧。说明:简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。【原则1-31所有的代码尽量遵循公共语言规范(C1S)。说明:编程时以该规范为准,规范没有规定的内容参考上面的标准。【原则14】编程时首先达到正确性,其次考虑效率。说明:

5、编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素,最后才考虑程序的效率和资源占用。【原则1-5尽量避免使用GOTO语句。【原则1-6尽可能重用、修正老的代码。说明:尽量选择可借用的代码,对其修改优化以达到自身要求。【原则1-7尽量减少同样的错误出现的次数。说明:事实上,我们无法做到完全消除错误,但通过不懈的努力,可以减少同样的错误出现的次数。4布局程序布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。同时,对于普通程序员来说,养成良好的编程习惯有助于提

6、高自己的编程水平,提高编程效率。因此,统一的、良好的程序布局和编程风格不仅仅是个人主观美学上的或是形式上的问题,而且会涉及到产品质量,涉及到个人编程能力的提高,必须要引起重视。4. 1基本格式【规则源代码文件(.cs)的布局顺序是:USing语句、命名空间、注释、类。说明:以下内容如果某些节不需要,可以忽略。但是其它节要保持该次序。正例:usingSystem;namespaceZTE.xxx/版权所有:版权所有(C)2004,中兴通讯内容摘要:本类是,包括主要模块函数及功能是完成日期:输入完成日期,例:2004年3月1日版本:/作者:修改记录1:修改历史记录,包括修改日期、修改者及修改内容修

7、改日期:版本号:/修改人:修改内容:修改记录2:/pub1icc1assSamp1e【规则2-1-2遵循统一的布局顺序来书写using语句,不同类别的using语句之间用空行分隔。说明:USing命名空间语句的排列顺序为SyStem开头的命名空间在最前面,接下来是引自外部的命名空间,再接下来是应用程序自身的命名空间,即USing中标准的命名空间要在本地的命名空间之前,而且按照字母顺序排列。.Ne1自身的第三方的程序自身的正例:usingSystem;usingSystem.Data;usingFarPoint.Win.Spread;usingZTE.DSS.Pub1ic;【规贝IJ2-1-3程

8、序中一行的代码和注释不能超过80列。说明:包括空格在内不超过80歹J。【规则214】if、e1se,e1seif.for、whi1e,do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加。说明:这样可以防止书写失误,也易于阅读。正例:if(varib1e1varib1e2)varib1e1=varib1e2;反例:下面的代码执行语句紧跟if的条件之后,而且没有加,违反规则。if(varib1e1varib1e2)varib1e1=varib1e2;K建议2-1-43源程序中关系较为紧密的代码应尽可能相邻。说明:这样便于程序阅读和查找。正例:i1ength=10;IWidth=5;

9、/矩形的长与宽关系较密切,放在一起。StrCaption=Test;反例:i1ength=10;StrCaption=Test;iWidth=5;4.2对齐【规则221】禁止使用TAB键,必须使用空格进行缩进。缩进为4个空格。说明:消除不同编辑器对TAB处理的差异,有的代码编辑器可以设置用空格代替TAB键。【规则2-2-2】程序的分界符和应独占一行并且位于同一列,同时与引用它们的语句左对齐。)之内的代码块使用缩进规则对齐。说明:这样使代码便于阅读,并且方便注释。dowhi1e语句和结构的类型化时可以例外,whi1e条件和结构名可与在同一行。正例:voidFunction(intiVar)/独占

10、一行并与引用语句左对齐。whi1e(condition)(DoSomethingO;/与缩进4格)反例:voidFunctiondntiVar)whi1e(condition)DoSomethingO;【规则223相关的赋值语句等号对齐。正例:tPDBRes.wHead=0;tPDBRes.wTai1=WMaxNumOfPDB-1;tPDBRes.wFree=WMaxNumOfPDB;tPDBRes.wAddress=wPDBAddr;tPDBRes.wSize=wPDBSize;4.3空行空格【规则2-3-1】不同逻辑程序块之间要使用空行分隔。说明:空行起着分隔程序段落的作用。适当的空行可以

11、使程序的布局更加清晰。正例:voidHey(void)(Hey实现代码)/空一行voidAck(void)(Ack实现代码)反例:voidHey(void)(Hey实现代码)voidAck(void)(Ack实现代码/两个函数的实现是两个逻辑程序块,应该用空行加以分隔。【规则2-3-2一元操作符如等前后不加空格。“口”、”这类操作符前后不加空格。正例:IbVa1ueiVa1ue+iCount&fSumaiNumberi=5;tBox.dWidth【规则2-3-31多元运算符和它们的操作数之间至少需要一个空格。正例:fVa1ue=f01dVa1ue;fTota1+fVa1ueiNumber+=2

12、;【规则2-3-4】关键字之后要留空格。说明:if、for.WhiIe等关键字之后应留一个空格再跟左括号,(,以突出关键字。【规则2-35】函数名之后不要留空格。说明:函数名后紧跟左括号以与关键字区别。【规则2-3-6(向后紧跟,向前紧跟,紧跟处不留空格。之后要留空格。;不是行结束符号时其后要留空格。正例:例子中的U代表空格。forU(iU=UOjUiUUMAX_BSC_NUf;Ui+)(DoSomething(iWidth,|_|!Height);)【规则2-3-7注释符与注释内容之间要用一个空格进行分隔。正例:/*注释内容*/注释内容反例:/*注释内容*/注释内容4.4断行.【规则2-4-

13、1长表达式(超过120歹IJ)要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐。说明:条件表达式的续行在第一个条件处对齐。for循环语句的续行在初始化条件语句处对齐。函数调用和函数声明的续行在第一个参数处对齐。赋值语句的续行应在赋值号处对齐。正例:if(iFormat=CH_A_Format_M)&(iOfficeType=CH_BSC_M)/条件表达式的续行在第一个条件处对齐(DoSomethingO;)for(1ong_initia1ization_statement;1ong_condiction_statement;/for

14、循环语句续行在初始化条件语句处对齐1ong_update_statement)(DoSomethingO;)/函数声明的续行在第一个参数处对齐BYTEReportStatusCheckPara(BYTEucCa11No,BYTEUcStatusReportNo);/赋值语句的续行应在赋值号处对齐fTota1Bi11=fTota1Bi11+faCustomerPurchasesiID+fSa1esTax(faCustomerPurchasesiID);【规则24-2】函数声明时,类型与名称不允许分行书写。正例:doub1eCa1cArea(doub1edWidth,doub1edHeight);反例:doub1eCa1cArea(doub1edWidth,doub1edHeight);5注释注释有助于理解代码,有效的注释是指在代码的功能、意图层次上进行注释,提供有用、额外的信息,而不是代

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服