最全的软件开发c#编码规范说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件开发C#编码规范细则softwaredevelopmentcodingstandards-C#-RulesC#-细则修改码02/26目录1编写目的...........................................................................................................12术语、定义和缩略语.......................................................................................12.1术语、定义...................................................................................................12.2缩略语...........................................................................................................13代码布局...........................................................................................................23.1基本格式.......................................................................................................23.2对齐...............................................................................................................33.3空行空格.......................................................................................................43.4断行...............................................................................................................54注释...............................................................................................................65命名规则.........................................................................................................106声明.................................................................................................................177表达式与语句.................................................................................................178类和接口.........................................................................................................229命名空间.........................................................................................................2310参考资料.........................................................................................................24软件开发编码规范-C#-细则修改码01/261编写目的编码规范包括总则和细则两部分。总则部分是对编码的总体性规范要求,适用于多种编码语言;细则部分是在总则的规范要求下,针对具体语言的特点而提出的规范要求。本规范是编码规范的细则部分,适用于DOTNET平台的C#编程语言。编写本规范的目的是为了进一步规范C#软件编程风格,提高软件源程序的可读性、可靠性和可重用性,确保在开发成员或开发团队之间的工作可以顺利交接,不必花很大的力气便能理解已编写的代码,以便继续维护和改进以前的工作,提高软件源程序的质量和可维护性,减少软件维护成本。本规范的内容包括:代码布局、注释、命名规则、声名、表达式与语句、类与接口等。规范最后给出了一个编程实例供软件人员参考。本规范分成规则性和建议性两种:对于规则性规范,要求所有软件开发人员严格执行;对于建议性规范,各项目编程人员可以根据实际情况选择执行。自本规范实施之日起,以后新编写的和修改的代码均应执行本规范。2术语、定义和缩略语2.1术语、定义术语/定义说明原则编程时应该坚持的指导思想。规则编程时必须遵守的约定。建议编程时必须加以考虑的约定。说明对此规则或建议的必要的解释。正例对此规则或建议给出的正确例子。反例对此规则或建议给出的反面例子。2.2缩略语缩略语说明无软件开发编码规范-C#-细则修改码02/263代码布局代码布局的目的是显示出程序良好的逻辑结构,提高程序的准确性、连续性、可读性、可维护性。更重要的是,统一的程序布局和编程风格,有助于提高整个项目的开发质量,提高开发效率,降低开发成本。同时,对于普通程序员来说,养成良好的编程习惯有助于提高自己的编程水平,提高编程效率。因此,统一的、良好的程序布局和编程风格不仅仅是个人主观美学上的或是形式上的问题,而且会涉及到产品质量,涉及到个人编程能力的提高,必须要引起重视。3.1基本格式正例:usingSystem;namespaceCNPDC.xxx{publicclassSample{}}【规则3-1-2】遵循统一的布局顺序来书写using语句,不同类别的using语句之间用空行分隔。说明:using命名空间语句的排列顺序为System开头的命名空间在最前面,接下来是引自外部的命名空间,再接下来是应用程序自身的命名空间,即using中标准的命名空间要在本地的命名空间之前,而且按照字母顺序排列。正例:usingSystem;//.Net自身的usingSystem.Data;usingFarPoint.Win.Spread;//第三方的usingCNPDC.DSS.Public;//程序自身的【规则3-1-3】if、else、elseif、for、while、do等语句自占一行,执行语【规则3-1-1】源代码文件(.cs)的布局顺序是:using语句、命名空间、类。软件开发编码规范-C#-细则修改码03/26句不得紧跟其后。不论执行语句有多少都要加{}。建议不使用3级表达式。说明:这样可以防止书写失误,也易于阅读。正例:if(varible1varible2){varible1=varible2;}反例:下面的代码执行语句紧跟if的条件之后,而且没有加{},违反规则。if(varible1varible2)varible1=varible2;〖建议3-1-4〗源程序中关系较为紧密的代码应尽可能相邻。说明:这样便于程序阅读和查找。正例:iLength=10;iWidth=5;//矩形的长与宽关系较密切,放在一起。StrCaption=“Test”;反例:iLength=10;strCaption=“Test”;iWidth=5;3.2对齐【规则3-2-1】禁止使用TAB键,必须使用空格进行缩进。缩进为4个空格。说明:消除不同编辑器对TAB处理的差异,有的代码编辑器可以设置用空格代替TAB键。【规则3-2-2】程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。{}之内的代码块使用缩进规则对齐。说明:这样使代码便于阅读,并且方便注释。dowhile语句和结构的类型化时可以例外,while条件和结构名可与}在同一行。正例:voidFunction(intintVar){//独占一行并与引用语句左对齐。while(condition){DoSomething();//与{}缩进4格}}软件开发编码规范-C#-细则修改码04/26反例:voidFunction(intintVar){while(condition){DoSomething();}}〖建议3-2-3〗相关的赋值语句等号对齐。正例:tPDBRes.wHead=0;tPDBRes.wTail=wMaxNumOfPDB-1;tPDBRes.wFree=wMaxNumOfPDB;tPDBRes.wAddress=wPDBAddr;tPDBRes.wSize=wPDBSize;3.3空行空格【规则3-3-1】不同逻辑程序块之间要使用空行分隔。说明:空行起着分隔程序段落的作用。适当的空行可以使程序的布局更加清晰。正例:voidHey(void){[Hey实现代码]}//空一行voidAck(void){[Ack实现代码]}反例:voidHey(void){[Hey实现代码]}voidAck(void){[Ack实现代码]}//两个函数的实现是两个逻辑程序块,应该用空行加以分隔。【规则3-3-2】一元操作符如“!”、“~”、“++”、“--”、“*”、“&”等前后不加空格。“[]”、“.”这类操作符前后不加空格。正例:软件开发编码规范-C#-细则修改码05/26!bValue~iValue++iCount&fSumaiNumber[i]=5;tBox.dWidth【规则3-3-3】多元运算符和它们的操作数之间至少需要一个空格。正例:fValue=fOldValue;fTotal+fValueiNumber+=2;〖建议3-3-4〗关键字之后要留空格。说明:if、for、while等关键字之后应留一个空格再跟左括号‘(’,以突出关键字。〖建议3-3-5〗函数名之后不要留空格。说明:函数名后紧跟左括号‘(’,以与关键字区别。〖建议3-3-6〗‘(’向后紧跟,‘)’、‘,’、‘;’向前紧跟,紧跟处不留空格。‘,’之后要留空格。‘;’不是行结束符号时其后要留空格。正例:例子中的凵代表空格。for凵(i凵=凵0;凵i凵凵MAX_BSC_NUM;凵i++){DoSomething(iWidth,凵iHeight);}3.4断行【规则3-4-1】长表达式(超过120列)要在低优先级操作符处拆分成新行,操作符放在新行之首(以便突出操作符)。拆分出的新行要进行适当的缩进,使排版整齐。说明:条件表达式的续行在第一个条件处对齐。for循环语句的续行在初始化条件语句处对齐。函数调用和函数声明的续行在第一个参数处对齐。赋值语句的续行应在赋值号处对齐。正例:if((iFormat==CH_A_Format_M)&&(iOfficeType==CH_BSC_M))//条件表达式的续行在第一个条件处对齐软件开发编码规范-C#-细则修改码06/26{DoSomething();}for(long_initialization_statement;long_condiction_statement;//for循环语句续行在初始化条件语句处对齐long_update_statement){DoSomething();}//函数声明的续行在第一个参数处对齐BYT

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功