软件项目-.NET编码规范-模板

合集下载

数据库编码规范

数据库编码规范

数据库编码规范V1.02022-8-28目的范围术语设计概要命名规范(逻辑对象)数据库对象命名脚本注释数据库操作原则常用字段命名(参考)1)目的为了统一公司软件开辟的设计过程中关于数据库设计时的命名规范和具体工作时的编程规范,便于交流和维护,特制定此规范。

2)范围本规范合用于开辟组全体人员,作用于软件项目开辟的数据库设计、维护阶段<3)术语数据库对象:在数据库软件开辟中,数据库服务器端涉及的对象包括物理结构和逻辑结构的对象。

物理结构对象:是指设备管理元素,包括数据文件和事务日志文件的名称、大小、目录规划、所在的服务器计算极名称、镜像等,应该有具体的配置规划。

普通对数据库服务器物理设备的管理规程,在整个项目/产品的概要设计阶段予以规划。

逻辑结构对象:是指数据库对象的管理元素,包括数据库名称、表空间、表、字段/域、视图、索引、触发器、存储过程、函数、数据类型、数据库安全性相关的设计、数据库配置有关的设计以及数据库中其他特性处理相关的设计等。

4)设计概要设计环境<数据库:ORACLE9i、MSSQLSERVER2000 等,操作系统:LINUX7.1 以上版本,显示图形操作界面;RedHat9 以上版本WINDOWS2000SERVER 以上设计使用工具手使用PowerDesigner 做为数据库的设计工具,要求为主要字段做详尽说明。

对于SQLServer 尽量使用企业管理器对数据库进行设计,并且要求对表,字段编写详细的说明(这些将作为扩展属性存入SQLServer 中) 手通过PowerDesigner 定制word 格式报表,并导出word 文档,作为数据字典保存。

(PowerDesignerv10 才具有定制导出word 格式报表的功能)<对于SQLServer 一旦在企业管理器进行数据库设计时加入扩展属性,就可以通过编写简单的工具将数据字典导出。

4 编写数据库建数据库、建数据库对象、初始化数据脚本文件设计原则4 采用多数据文件手禁止使用过大的数据文件,unix 系统不大于2GB,window 系统不超过500MB$oracle 数据库中必须将索引建立在索引表空间里。

软件详细设计模板(最全面)

软件详细设计模板(最全面)

Xxx 系统详细设计说明书(内部资料请勿外传)XX 公司写:检 査: 审 核: 批 准:日期: 日期: 日期: 日期:版权所有不得复制文档变更记录1.引言 ................................................................ 错误!未定义书签。

编写目的和范围..................................................... 错误!未定义书签。

术语表............................................................ 错误!未定义书签。

参考资料.......................................................... 错误!未定义书签。

使用的文字处理和绘图工具........................................... 错误!未定义书签。

2.全局数据结构说明..................................................... 错误!未定义书签。

常量.............................................................. 错误!未定义书签。

变量.............................................................. 错误!未定义书签。

数据结构.......................................................... 错误!未定义书签。

3.模块设计............................................................. 错误!未定义书签。

用例图............................................................ 错误!未定义书签。

软件测试中的编码规范与质量标准

软件测试中的编码规范与质量标准

软件测试中的编码规范与质量标准在软件开发过程中,编码规范和质量标准是确保软件质量的重要因素。

编码规范是一组约定俗成的规则,用于指导开发人员编写可读性强、可维护性好的代码。

而质量标准则是用于评估软件的质量水平,以确保软件能够满足用户需求并具备高可靠性和稳定性。

首先,编码规范在软件测试中起到了至关重要的作用。

一个良好的编码规范可以提高代码的可读性和可维护性,从而减少软件缺陷的产生。

例如,规定变量和函数的命名规范、缩进和注释的使用规范等,可以使代码更易于理解和修改。

此外,编码规范还可以规范代码的结构和风格,使得团队成员之间的协作更加高效。

例如,规定代码的缩进方式、代码块的排列方式等,可以提高代码的一致性,减少不必要的冲突和错误。

其次,质量标准是评估软件质量的重要依据。

软件测试旨在发现和修复软件中的缺陷,以确保软件的正常运行和满足用户需求。

而质量标准则是用于评估软件测试的效果和软件的质量水平。

例如,测试覆盖率是一个常用的质量标准,用于衡量测试用例对软件代码的覆盖程度。

高测试覆盖率意味着测试用例更全面,能够发现更多的缺陷。

此外,质量标准还可以包括性能、可靠性、安全性等方面的指标,以确保软件具备良好的用户体验和稳定性。

在软件测试中,编码规范和质量标准是相互关联的。

良好的编码规范可以提高代码的质量,从而提高软件测试的效果。

而质量标准则可以对软件的质量进行评估,以指导开发人员遵循编码规范和改进软件测试的方法和策略。

因此,在软件测试中,开发团队应该制定并遵守一套合理的编码规范,并根据质量标准进行测试和评估。

然而,编码规范和质量标准并非一成不变的。

随着软件开发技术的不断发展和变化,编码规范和质量标准也需要不断更新和改进。

例如,随着敏捷开发和DevOps的兴起,软件开发过程变得更加快速和迭代。

因此,编码规范和质量标准也需要适应这种变化,并提供更加灵活和可持续的解决方案。

此外,不同的软件项目和领域也可能有不同的编码规范和质量标准。

华为软件编码规范

华为软件编码规范

华为软件编程规范和范例〔一〕=====[排版] ]=======.〔二〕======[注释]=======.〔三〕=====[标识符命名]=======.〔四〕=====[可读性]======.〔五〕=====[变量、结构]=====.〔六〕=====[函数、过程]=====.〔七〕=====[可测性]=====.〔八〕=====[程序效率]=====.〔九〕=====[质量保证]=====.〔十〕=====[代码编辑、编译、审查]=====.〔十一〕=====[代码测试、维护]=====.〔十二〕=====[宏]=====.〔一〕========[ 排版]========== ¹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:不允许把多个短语句写在一行中,即一行只写一条语句示例:如下例子不符合规范。

软件研发项目编码规范与开发标准

软件研发项目编码规范与开发标准

软件研发项目编码规范与开发标准在软件研发项目中,编码规范与开发标准是至关重要的。

良好的编码规范可以增加代码的可读性和可维护性,提高团队合作效率,降低软件开发的错误率。

本文将探讨软件研发项目中编码规范与开发标准的重要性,并介绍一些常用的编码规范和开发标准。

首先,编码规范是指在软件开发过程中制定的一系列规则和约定,用来规范开发人员编写代码的风格和格式。

良好的编码规范可以使代码更易于阅读和理解,减少代码的bug和错误。

此外,编码规范还可以统一团队成员的编码习惯,提高团队合作效率。

因此,一个团队如果能够遵守一套统一的编码规范,在软件开发过程中将会更加高效和顺畅。

其次,开发标准是指在软件开发项目中约定的一套规范和标准,用来指导开发人员在软件开发过程中的行为和决策。

开发标准可以包括项目的架构设计、模块划分、代码管理、测试方法等方面的规范。

遵守开发标准可以确保项目的稳定性和可靠性,提高软件的质量和性能。

在实际的软件研发项目中,编码规范和开发标准起到了至关重要的作用。

在编写代码时,开发人员需要遵守统一的编码规范,确保代码的格式、命名规范、注释等方面符合规范要求。

在项目的架构设计和模块划分阶段,开发人员需要按照约定的开发标准进行规划和设计,确保项目的整体结构和组织清晰明了。

为了有效地制定和实施编码规范与开发标准,团队可以通过以下几个方面进行改进:1. 建立统一的编码规范和开发标准:团队需要制定一套统一的编码规范和开发标准,确保所有成员遵守相同的规范。

这些规范可以包括代码的格式、命名规范、注释规范等方面的要求。

2. 培训和指导开发人员:团队可以组织相关的培训和指导活动,帮助开发人员了解并遵守编码规范和开发标准。

通过培训,开发人员可以更好地理解规范的重要性,提高代码编写的质量和效率。

3. 使用自动化工具检查代码规范:团队可以借助一些自动化工具,如代码静态分析工具,来检查代码是否符合编码规范和开发标准。

这些工具可以帮助团队及时发现和纠正代码中的问题,提高代码的质量和可维护性。

.Net项目命名规范

.Net项目命名规范

.Net项⽬命名规范⽬录dotShare系统改造项⽬的建设过程中,将涉及到Visual 、Web站点,业务对象及数据库,同时项⽬⼈员包括设计⼈员、开发⼈员和测试⼈员等较多。

为了保持应⽤程序、组件、⽂件的⼀致性,便于阅读和管理代码和结构,提⾼开发效率和产品的标准化,特制订⼀套开发规范和标准(包括命名规范和编码规范)。

好的编码约定可使源代码严谨、可读性强且语意清楚,做到与其它语⾔约定相⼀致,并且提⾼直观性。

希望设计/开发⼈员严格遵守此套开发规范和标准,并落实到⾃⼰的设计与代码程序中。

命名规范将包括:编程命名规范,业务对象命名规范,数据库命名规范,Web站点结构命名规范等。

编码规范将包括:C#编码规范,第三⽅模块使⽤规范等本命名规范主要针对使⽤Visual (语⾔及C#语⾔)规范,即编程命名规范部分。

请注意:在本项⽬过程中,C#将作为⾸选语⾔,如⾮特别必要,不要选⽤。

变量命名的总原则是⼀个通⽤性的原则,本规范后续章节中的命名规则都应当符合这些总原则。

·变量名称应当准确完整地描述了变量的含义·名称应当反映了业务上的问题⽽不是技术上或编程上的解决⽅法·名称的长度应当⾜够长·名称的最后⼀部分应当有限定符·应当⽤Count, Index或Nbr代替Num, No.·循环计数变量的的名称应当有含义(如果循环语句的长度超过了两⾏或者存在着嵌套循环,尽量避免使⽤I,j,k之类的变量,应该使⽤有意义的变量)·临时变量的命名应当有意义·所有布尔型变量的命名能够直接从名称上看出为真的条件·枚举类型的变量名称应当包含了基础类型,能够⽅便的分辨变量的类型。

例如:⽤Color变量表⽰ ColorRed, ColorGreen枚据类型的值。

·命名的常量应当代表了抽象的实体⽽⾮他们所代表的值·从变量命名中应当可以看出变量的作⽤域是局部变量,模块变量或者全局变量·变量的名称中不同的单词⾸字母要⼤写,以⽅便阅读·如果不是绝对必须,尽量避免使⽤短的名称·如果变量中单词的缩写只能缩短⼀两个字符则使⽤单词的完全拼写·所有单词的缩写规则应当⼀致·名称具有误导性·两个不同的命名具有相似的含义·不同的命名拼写很相似,仅差⼀两个字符·在变量名称中不应当使⽤数字·完全和变量含义不相关的命名使⽤下⾯的三种⼤写标识符约定。

编码规范

编码规范
编码规范
编码规范概述
编码规范的必要性
① 有助于程序的维护,降低软件生命周期成本,符 合项目管理的规律 ② 使团队中相关人员的流动对项目的影响尽可能小, 有利于项目的控制与管理; ③ 提高程序的可读性,有利于相关设计人员交流, 提高软件质量; ④ 容易发现代码的问题,调试时比较容易 ⑤ 体现公司形象
实例讲解
• 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、用于规范指导开发组进行开发2、便于成员间的沟通与交流。

3、有助于项目质量和稳定。

4、为后期维护提供支持2. 项目开发流程项目开发过程归纳分为以下步骤:1. 建立SVN项目版本控制。

包括文档,源码,Lib包等。

2. 了解需求,并对需求文档的书写。

(见文档结构规则附录)。

3. 详细设计文档。

(见文档结构规则附录)。

功能模块设计,重要模块的算法设计。

数据库设计等。

根据需求定义开发平台及环境。

4. 编码。

搭建开发平台,配置开发环境。

编码。

单元测试案例。

5. 书写软件安装手册文件,数据库脚本文件,以及注意事项(release notes)。

6. 交互测试组测试。

根据测试组测试结果是否回归第4步(测试回归最好不要超过2次)。

7. 测试通过,交付上线使用。

维护手册使用手册3. 代码规范Java 代码规范3.1.1 Java类名类名可由:英文字母,数字,下划线组成。

(数字,下划线不能够开头)类名由一个或者多个单词组成。

单词通常要求简洁明了达意。

能够通过类名能够大致了解此类的作用和用途。

类名要求首字母大写,多个单词组成类名时,单词的首字母要求大写。

建议:类名不要过于简单或者太长。

可以对单词采用简化的名称:入:Number 简化为:num 。

3.1.2 Java类结构类仅作为数据结构,没有行为,他封装了一组或者相似的一些行为方法。

所以一个类尽量功能单一,或者功能类似共有行为的。

一个类不要过于庞大。

通常情况下:一般逻辑类中应该有构造方法和main方法,main方法中应该有测试代码。

每个类应该有toString() 方法。

3.1.2.1 包和引入语句在多数Java源文件中,第一个非注释行是包语句。

在它之后可以跟引入语句。

报名的定义全部是小写字母。

具体定义依据项目而定。

引入包时候,同一类型的归纳到一块,用空行隔开。

例如:import 3.1.2 类注释Java类开头应该有相应的注释:类版本描述,作者签名,日期时间,公司备注,类的功能作用相关描述等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.NET编码规范.NET编码规范版本:V1.0.NET编码规范目录1介绍 (1)1.1目的 (1)1.2范围 (1)1.3参考文档 (1)2规范概述 (1)3规范详述 (1)3.1文件组织 (1)3.1.1源文件 (1)3.1.2目录安排 (2)3.2缩进 (2)3.2.1分行 (2)3.2.2空白 (2)3.3注释 (3)3.3.1块注释 (3)3.3.2单行注释 (3)3.3.3文档注释 (3)3.4变量声明 (4)3.4.1每行声明的数量 (4)3.4.2初始化 (4)3.5类和接口的声明 (4)3.6命名约定 (5)3.6.1大写风格 (5)3.6.2命名规则 (6)3.6.3class,struct和namespace命名规则 (6)3.6.4interface命名规则 (6)3.6.5enum命名规则 (6)3.6.6域命名规则 (7)3.6.7参数命名规则 (7)3.6.8变量命名规则 (7).NET编码规范3.6.9方法命名规则 (7)3.6.10属性命名规则 (7)3.6.11事件命名规则 (8)3.7代码细节规范 (8)1 介绍1.1 目的本文件的目的是描述用.NET编写代码过程中应遵循的规范,以确保编写出强壮可靠、符合规范的应用程序。

虽然这里的代码示例是用C#编写的,但如果使用另外一种编程语言,其中的大多数规则和原理也是适用的。

对于.net开发人员,应力求遵守此文档中的规范,代码审查时,此文档将作为重要的参考依据。

1.2 范围本文件适用于用.NET来实现的软件产品在编码实现过程中应遵循的规范。

1.3 参考文档[说明本文件的参考文档。

]2 规范概述本规范为实现过程中用.NET来进行编码时应遵循的规范,主要内容包括:文件组织、缩进、注释、变量声明、类和接口的声明、命名约定及代码细节规范。

在实现过程中的编码实现,代码走查活动中使用到此规范。

3 规范详述3.1 文件组织3.1.1 源文件把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。

严禁将多个命名空间/类放在同一个源文件中(自动生成的除外)。

3.1.2 目录安排为每个命名空间创建一个目录(如,对于MyProject.TestSuite.TestTier使用MyProject/TestSuite/TestTier作为路径,不要使用带“.”的命名空间)。

这样更易于映射命名空间到目录。

3.2 缩进3.2.1 分行如果表达式不适合单行显示,应根据下面通常的原则分行:●一个逗号后换行●在一个操作符后换行●在表达式的高层次处换行●新行与前一行在同一层次,并与表达式的起始对齐方法分行的例子:long MethodCall(expr1, expr2,expr3, expr4, expr5);算术表达式分行的例子:好的:var = a * b / (c – g + f) +4 * z;坏的风格,要避免:var = a * b / (c – g +f) + 4 * z;第一个是好的,因为分行符合高层次规则。

3.2.2 空白不要使用空格缩进,要是用Tabs,这个也是默认的缩进符。

3.3 注释3.3.1 块注释通常要避免块注释,而使用C#标准的///注释来描述。

如果希望使用块注释,应该使用下面的风格:/ * Line 1* Line 2* Line 3*/块注释很少使用,通常是用来注释掉大块的代码。

3.3.2 单行注释应该使用//注释掉一行代码,也可以用它注释掉代码块。

当单行注释用来做代码解释时,必须要缩进到与代码对齐。

3.3.3 文档注释单行XML注释的形式如下:/// <summary>/// 此类型/字段注释/// </summary>多行XML注释的形式如下:/// <exception cref=”BogusException”>/// This exception gets thrown as soon as a/// Bogus flag gets set./// </exception>3.4 变量声明3.4.1 每行声明的数量每行只有一个声明,以方便注释,如:int level; // indentation levelint size; // size of table变量的命名意义要明确。

如果能够自解释,如indentLevel,就不用注释。

不好的:int a, b; // a和b代表的意思不明确,即便注释,在其他地方也不知道具体含义3.4.2 初始化尽量在局部变量声明时进行初始化,例如:string name = ;或int val = time.Hours;注意:初始化数据链接等相关对象时,可以考虑使用Using语句,以方便CLR对其进行回收,如:Using (SqlConnection conn = new SqlConnection()){……}3.5 类和接口的声明当写C#类和接口时,应按照下面的格式规则:在方法名字和参数列表的起始括号“(”之间没有空格开括号“{”应出现在声明语句之后的下一行闭括号“}”自己占一行,并缩进到对应的开括号位置例如:class MySample : MyClass, IMyInterface.NET编码规范{int myInt;public MySample(int myInt){this.myInt = myInt;}void Inc(){++myInt;}void EmptyMethod(){}}3.6 命名约定3.6.1 大写风格C#代码中的标志符符命名主要有以下3中风格:Pascal风格:大写每一个单词的第一个字符,如TestCounter。

Camel风格:除了第一个单词,大写其它单词的第一个字符,如testCounter全部大写:如果一个标志符是只包含1,2或3个字符的缩写,可以全部大写,例如:public class Math{public const double PI = ......}在.Net中,通常认为使用下划线和匈牙利符号命名是不好的。

匈牙利符号定义了一组名字的前缀和后缀,来表示变量的类型。

这种命名风格在早期的windows编程中广泛使用。

在MFC编程中,还习惯使用m_作为成员变量的前缀。

这些风格在.Net中不应该使用。

记住:一个好的变量名字应该描述语义,而不是类型。

但GUI代码是个例外。

所有GUI元素类型(如Button)的域和变量名字,应该以它的类型全名作为后缀,例如:System.Windows.Forms.Button cancelButton;//或者btnCancelSystem.Windows.Forms.TextBox nameTextBox;//txtName注意GUI变量首单词的首字幕是小写的。

3.6.3 class,struct和namespace命名规则●名字必须是名词或名词短语●异常类要以Exception作为后缀●不要使用任何前缀●使用Pascal风格3.6.4 interface命名规则●用名词,名词短语或者描述行为的形容词命名接口。

(如IComponent,IEnumbetable)●使用Pascal风格●使用I作为名字的前缀,I后面的字符(接口名字的第一个字符)要大写3.6.5 enum命名规则●枚举类型名和值的名字都使用Pascal风格●枚举类型和值都没有前缀和后缀●使用描述性的名字,能充分表示出变量的含义●对于静态的readonly和const域,用名词,名词短语或名词缩写命名●public域使用Pascal风格●protected和private域使用Camel风格●要注意的是:CONST常量中的名词短语全部大写,且用下划线分割,例如●public const int MAX_COUNT;3.6.7 参数命名规则●使用描述性的名字,能充分表示出变量的含义●使用Camel风格3.6.8 变量命名规则●尽量使用含义明确的名字●如果变量仅用来在循环中计数,应优先使用i,j,k,l,m,n●使用Camel风格3.6.9 方法命名规则●用动词或动词短语命名●使用Pascal风格3.6.10 属性命名规则●使用名词或名词短语命名●使用Pascal风格3.6.11 事件命名规则●事件控制器要带有EventHandler后缀.NET编码规范●使用sender和e命名两个参数●事件参数类要带有EventArgs后缀●考虑使用动词命名事件●对于有“之前”或“之后”概念的事件,要使用现在时或过去时命名●使用Pascal风格3.7 代码细节规范1.原则上,尽量不要手工的修改机器产生的代码。

2.避免利用注释解释显而易见的代码。

代码应该可以自解释。

好的代码本身就应具体良好的可读性,所使用的变量和方法命名一般情况下不需要注释。

3.在捕获(catch)语句的抛出异常(如果需要的话)子句中(throw),总是抛出原始异常,用以维护原始错误的堆栈分配。

4.避免方法的返回值是错误代码。

5.避免在条件语句中调用返回bool值的函数。

可以使用局部变量并检查这些局部变量。

这可防止诸如在循环调用时产生的性能损失。

6.不要提供public 和protected的成员变量,使用属性代替他们。

7.避免在继承中使用new而使用override来进行替换。

8.除非使用interop(COM+ 或其他的dll)代码否则不要使用不安全的代码(unsafe code)。

9.避免显式的转换,使用as操作符进行兼容类型的转换。

10.在调用委托之前一定要检查它是否为null。

11.不要直接编写可能会更改的基于配置的字符串,比如连接字符串。

12.当需要构建较长的字符串的时候,例如循环的对字符串进行连接操作,应该考虑使用StringBuilder不要使用string来处理。

13.原则上不应使用goto语句,除非在能够大大减轻编码的复杂性,并不影响可读性的前提下才允许使用。

14.在switch语句中总是要有default子句。

15.总是选择使用C#内置(一般的generics)的数据结构。

16.初始化类的实例时,除非十分必要,否则不要赋null值。

8 / 8。

相关文档
最新文档