软件开发代码规范(C#版).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件开发代码规范(C#版).docx》由会员分享,可在线阅读,更多相关《软件开发代码规范(C#版).docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发代码规范(C#版) 文档编号 版本 密级1.0 本部门开放 工作规范 共 17 页 软件开发代码规范(C#版) 拟制: 日期:2007-2-13 审核: 日期:审核: 日期:批准: 日期:版权全部 * 有限公司修订纪录 日期修订版本描述作者2007-2-13 1.00 初稿完成2007-5-10 1.01 修正2007-11-2 1.02 修正目录 1、 第一章 命名规范 . 4 1.1、 第一节 总则 . 4 1.2、其次节 变量命名规范 . 4 1.2.1、CodeBehind 内部命名规范 . 4 1.2.2、控件命名规范 . 5 1.3、第三节 常量命名规范 . 5 1.4、第
2、四节 命名空间、类、方法命名规范 . 5 1.5、第五节 接口命名规范 . 6 1.6、第六节 命名规范小结 . 6 2、其次章 代码注释规范 . 6 2.1、第一节 模块级注释规范(命名空间、类等). 6 2.2、其次节 方法级注释规范 . 7 2.2.1 、属性注释 . 7 2.2.2 、方法注释 . 7 2.3、第三节 代码间注释规范 . 8 3、第三章 编写规范 . 9 3.1、第一节 格式规范 . 9 3.2、其次节 编程规范 . 9 3.2.1 、程序结构要求 . 9 3.2.2 、可读性要求 . 10 3.2.3 、结构化要求 . 10 3.2.4 、正确性与容错性要求 . 10
3、 3.2.5 、可重用性要求 . 11 3.2.6 、interface 运用留意事项 . 11 3.2.7 、类运用留意事项 . 11 3.2.8 、流程限制语句留意事项 . 12 3.2.8 、其他应留意事项 . 13注:Pascal 命名法则:即名称中全部单词的第一个字母大写其他字母运用小写形式。 Camel 命名法则:即名称中第一个单词各个字母全部小写, 其他部分遵循 Pascal 命名法则。1 、 第一章 命名规范 1.1 、 第一节 总则 1 本命名规则除特别提及外统一运用 Camel 命名法则。如 如:controlMenu 2 命名时尽量不运用拼音, 更不行运用拼音缩写(专出名
4、词除外)。3 假如运用品牌名称命名时其大小写尽量保持和品牌名称一样的样式。如 如:LuX 则命名时, 不要写成 LUX, 或者 Lux, 而应当保持与原品牌名称风格一样运用 LuX 4 运用专出名词或英文缩写命名时采纳大写形式。如 如:CNNIC 5 禁止运用仅区分大小写的方式命名。如 如:Abc 与 abc 仅用大写 A 来区分, 这样写在类 C 系语言中不会出错, 但是不利于系统的迁移 1.2 、其次节 变量命名规范 1.2.1 、CodeBehind 内部命名规范 1公有字段/属性运用 Pascal 命名规则, 私有变量/爱护变量/局部变量运用 Camel 命名规则, 遵循动宾结构。 例
5、:public class Hello private string userName;private DateTime loginTime;private bool isOnline;public string UserName get return this.userName; 2 即使对于可能仅出现在几个代码行中的生存期很短的变量, 仍旧运用意义描述性的名称。仅对于短循环索引运用单字母变量名, 如 i 或 j3在变量名中运用互补对, 如 Min/Max、Begin/End 和 Open/Close。4当一个方法内部变量繁多的时候, 可以运用 Camel 命名法则, 其中第一个单词可以运用
6、变量类型的缩写来说明以示区分。例:string strName; int intAge; object objPerson; 1.2.2 、控件命名规范1控件命名运用控件缩写加名称的方式 例:控件缩写 声明 LabellblprotectedLabellblName;TextBoxtxtprotectedTextBox txtContent;CheckBoxchkprotectedCheckBox chkRight;ButtonbtnprotectedButton btnOK;ListBoxlbxprotectedListBox lstItem;DropDownListddlprotected
7、DropDownList ddlArea; etc.1.3 、第三节常量命名规范 常量名也应当有肯定的意义, 格式为 NOUN 或 NOUN_VERB。常量名均为大写, 字之间用下划线分隔。例: private const boolWEB_ENABLEPAGECACHE_DEFAULT= true; private const int WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT= 3600; private const boolWEB_ENABLESSL_DEFAULT = false; 注:变量名和常量名最多可以包含 255 个字符, 但是, 超过 25 到
8、30 个字符的名称比较笨拙。此外, 要想取一个有实际意义的名称, 清晰地表达变量或常量的用途, 25 或 30 个字符应当足够了。1.4 、第四节命名空间、类、方法命名规范 1名字应当能够标识事物的特性。2名字尽量不运用缩写, 除非它是众所周知的。3名字可以有两个或三个单词组成, 但通常不应多于三个。4运用名词或名词短语命名类。5尽可能少用缩写。6不要运用下划线字符 (_)。7命名空间名称运用此格式:Snda + 项目名称 + 逻辑层名称 例:namespace Snda.CodeTest.BR public class FileStream public void InPut(string
9、para) 1.5 、第五节接口命名规范 和类命名规范相同, 唯一区分是接口在名字前加上大写I前缀 例: interface IDBCommand; interface IButton; 1.6 、第六节 命名规范小结 1、运用 Pascal 命名方式命名类、方法、属性和常量 2、运用 Camel 命名方式命名局部变量和方法的参数 3、接口运用 Pascal 命名方式, 并且在前面添加I 4、方法命名运用动宾结构, 比如 ShowDialog( ) 5、有返回值的方法命名应有单词来描述, 比如 GetObjectState( ) 6、避开运用带命名空间的类型, 尽量用 using 关键字 7、
10、避开把 using 语句放到命名空间内 8、控件命名运用控件缩写加名称的方式 9、常量命名采纳全部大写的形式, 要想一个有实际意义的名称, 清晰地表达常量的用途 2 、其次章 代码注释规范 2.1 、第一节模块级注释规范(命名空间、类等)模块须以以下形式书写模块注释:/ <summary>/ (功能模块简述)/ </summary> / <remarks> / 名称:(或者编号, 当模块繁多的时候以编号检索)/功能:/ 程序设计:/ 开发日期:/ 备注:/ 修 改 人:/ 修改日期:/ 备注:(假如多次修改, 请重复以上三项)/ </remarks&g
11、t; public class TestSpace 留意:具体说明都写在<remarks></remarks>内部, 为的是既便利 IDE 动态帮助又便利自动化出工程文档, 适用以下注释规范, 不再赘述。修改人和修改日期每次修改的时候都要自行添加上去。2.2 、其次节方法级注释 规范 2.2.1 、属性注释属性必需以以下形式赐予注释, 假如有备注的需求请加在<remarks></remarks>内部:/ <summary> / 简述属性功能 / </summary> / <remarks> / 备注 / <
12、;/remarks> public string Name; 2.2.2 、方法注释 / <summary> / (简述方法功能)/ </summary> / <param name=<参数名称>><参数说明></param> / <returns> / 对方法返回值的说明, 该说明必需明确说明返回的值代表什么含义 / </returns>/ <example>(运用示例)</example> / <remarks> / 名称:(或者编号, 当模块繁多的时候
13、以编号检索)/功能:/ 程序设计:/ 开发日期:/ 备注:/ 修 改 人:/ 修改日期:/ 备注:(假如多次修改, 请重复以上三项)/ </remarks>public void TestMethod(string Para) 2.3 、第三节代码间注释规范 代码间注释分为单行注释和多行注释: 单行注释:/<单行注释> 多行注释:/*多行注释 1 多行注释 2 多行注释 3*/ 代码中遇到语句块时必需添加注释(if,for,foreach,„„),添加的注释必需能够说明此语句块的作用和实现手段(所用算法等等)。但是自不待言的代码不易注释。行间的注
14、释量不得大于代码量的, 不小于 2.4 、第四节功能变更 注释规范 当对某个现有的功能进行修改时, 须要在该功能所在的方法<summary></ summary >内部加上注释, 阐明变更内容、变更时间、变更人。假如这一功能变更特别重要, 请在模块描述中也加上相关注释。建议格式如下:/功能变更:XXXXX updated by who YYMMDD3 、第三章编写规范 3.1 、第一节 格式规范 1 全部的缩进为 1 个 Tab(设置 1 个 Tab 占 4 个空格空间), 运用 VS.NET 的默认设置。2 在代码中垂直对齐左括号和右括号。例:if (x = 0) t
15、his.Response.Write(用户编号必需输入!); 允许以下状况:if (x = 0) this.Response.Write(用户编号必需输入!); 不允许以下状况:if (x = 0) this.Response.Write(用户编号必需输入!); 3 为了防止在阅读代码时不得不滚动源代码编辑器, 每行代码或注释在 1024*800 的显示频率下不得超过一显示屏。4 当一行被分为几行时, 通过将串联运算符放在每一行的末尾而不是开头, 清晰地表示没有后面的行是不完整的。5 每一行上放置的语句避开超过一条。6 在大多数运算符之前和之后运用空格, 这样做时不会变更代码的意图却可以使代码
16、简单阅读。例:int j = i + k; 而不应写为int j=i+k; 7 将大的困难代码节分为较小的、易于理解的模块。3.2 、其次节 编程规范 3.2.1 、程序结构要求 1 程序结构清楚, 简洁易懂, 单个函数的程序行数不得超过 100 行。2 准备干什么, 要简洁, 直截了当, 代码精简, 避开垃圾程序。3 尽量运用.NET 库函数和公共函数(无特别状况不要运用外部方法调用 Windows 的核心动态链接库 API)。4 不要随意定义全局变量, 尽量运用局部变量。3.2.2 、可读性要求 1 保持注释与代码完全一样。2 去除无效的注释 3 处理过程的每个阶段都有相关注释说明。4 利
17、用缩进来显示程序的逻辑结构, 缩进量一样并以 Tab 键为单位, 定义 Tab 为 4 个空格。5 循环、分支层次不要超过五层。6 注释可以与语句在同一行, 也可以在上行, 视语句的长短而定。7 一目了然的语句不加注释。8 注释的作用范围可以为:定义、引用、条件分支以及一段代码。9 去除 IDE 自动生成的注释, 比如:. private void Page_Load(object sender, EventArgs e) /to do.(删除这段注释) 3.2.3 、结构化要求 1 禁止出现两条等价的支路。2 除了在 switch 关键字的作用域内, 禁止 goto 语句。3 用 if 语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 代码 规范 C#
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内