收藏 分销(赏)

C_开发规范.doc

上传人:xrp****65 文档编号:7669141 上传时间:2025-01-11 格式:DOC 页数:13 大小:881KB
下载 相关 举报
C_开发规范.doc_第1页
第1页 / 共13页
C_开发规范.doc_第2页
第2页 / 共13页
C_开发规范.doc_第3页
第3页 / 共13页
C_开发规范.doc_第4页
第4页 / 共13页
C_开发规范.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、C#开发规范 易泓管理咨询开发参考文档文档准备人: 张炜制作日期:2010年01月08日提交日期:2010年01月08日版本号:V1.0状态:易泓管理咨询浙江省杭州市滨江区江陵路1760号邮编:310051易泓公司 & Geely 版权所有本文档特为上海易泓企业管理咨询有限公司软件开发制作 Creating Customer Values为客户创造价值文档描述文件名状态C#开发规范未评审变更记录日期作者版本描述2010-01-08张炜V1.0审阅 审阅者审阅时间注释目录1.简介51.1.目的51.2.范围51.3.引用、参考52.代码组织与风格52.1.TAB52.2.空行52.3.代码块长度

2、62.4.“”,“”62.5.行宽62.6.空格63.注释63.1.注释的基本约定63.1.1 注释的基本约定63.1.2 注释应该增加代码的清晰度63.1.3 保持注释的简洁,不是任何代码都需要注释的,过多的注释反而会影响代码的可读性63.1.4 注释不应该包括其他的特殊字符63.1.5 先写注释,后写代码63.2.注释类型73.2.1 块注释73.2.2 行注释73.2.3 尾随注释73.2.4 行尾注释73.2.5 文档注释73.3.注释那些部分74.命名94.1.命名的基本约定94.2.标示符的命名约定95.声明106.表达式和语句117.错误处理和异常事件128.可移植性121. 简

3、介1.1. 目的本规范为一套编写高效可靠的C# 代码的标准、约定和指南。它以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强,提高生产效率。同时,将带来更大的一致性,使软件开发团队的效率明显提高。1.2. 范围本规范应用于采用C#规范的项目中,所有项目中的C#代码(含ASPX)均应遵守这个规范。同时,也可作为其它项目的参考。1.3. 引用、参考参考了JAVA开发规范2. 代码组织与风格2.1. TAB一个Tab为4个空格长。2.2. 空行适当的增加空行,来增加代码的可读性。在下列情况下应该有两行空行:l 同一文件的不同部分之间;l 在类,接口以及彼此之间;在下列情况之间应该有一行空行:

4、l 方法之间;l 局部变量和它后边的语句之间;l 方法内的功能逻辑部分之间;2.3. 代码块长度每个代码块尽量控制在1个屏幕之内,方便浏览。2.4. “”,“”开括号“”放在块的所有者所在行的最后面,闭括号“”单独放在代码块的最后一行。2.5. 行宽每行代码和注释不应超过70个字节或屏幕的宽度,如超过则应换行,换行后的代码应该缩进8个字符。2.6. 空格括号和它里面的字符之间不应该出现空格。括号应该和它前边的关键词留有空格,如:while (true) ;但是方法名和左括号之间不应该有空格。参数之间的逗号后应该加一空格。如:method1(int i1, int i2)for语句里的表达式之间

5、加一空格。如:for(expr1; expr2; expr3)二元操作符和操作数之间应该用空格隔开。如:i + c ;强制类型转换时,在类型和变量之间加一空格。如:(int) i ;3. 注释3.1. 注释的基本约定3.1.1 注释的基本约定3.1.2 注释应该增加代码的清晰度3.1.3 保持注释的简洁,不是任何代码都需要注释的,过多的注释反而会影响代码的可读性3.1.4 注释不应该包括其他的特殊字符3.1.5 先写注释,后写代码3.2. 注释类型3.2.1 块注释块注释:主要用来描述文件,类,方法,算法等。一般用在文档和方法的前面,也可以放在文档的任何地方。以/*开头,*/结尾。例:/*注释

6、*/3.2.2 行注释行注释:主要用在方法内部,对代码,变量,流程等进行说明。与块注释格式相似,但是整个注释占据一行。例:/*注释*/3.2.3 尾随注释尾随注释:与行注释功能相似,放在代码的同行,但是要与代码之间有足够的空间,便于分清。例:int m=4 ;/*注释*/如果一个程序块内有多个尾随注释,每个注释的缩进应该保持一致。3.2.4 行尾注释行尾注释:与行注释功能相似,放在每行的最后,或者占据一行。以/开头或以/开头。3.2.5 文档注释文档注释:与块注释相似,但是可以被javadoc处理,生成HTML文件。以/*开头,*/结尾。问挡住是不能放在方法或程序块内。例:/*注释*/3.3.

7、 注释那些部分项目注释哪些部分实参/ 参数参数类型 参数用来做什么任何约束或前提条件示例字段/ 字段/属性字段描述 注释所有使用的不变量示例并行事件可见性决策类类的目的 已知的问题类的开发/维护历史注释出采用的不变量并行策略编译单元每一个类/类内定义的接口,含简单的说明 文件名和/或标识信息版权信息接口目的 它应如何被使用以及如何不被使用局部变量用处/目的成员函数注释成员函数做什么以及它为什么做这个 哪些参数必须传递给一个成员函数成员函数返回什么已知的问题任何由某个成员函数抛出的异常可见性决策成员函数是如何改变对象的包含任何修改代码的历史如何在适当情况下调用成员函数的例子适用的前提条件和 后置

8、条件成员函数内部注释控制结构 代码做了些什么以及为什么这样做局部变量难或复杂的代码处理顺序4. 命名4.1. 命名的基本约定4.1.1 一般应该使用可以准确说明变量/字段/类/命令空间的完整的英文描述符,如firstName。对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以被命名为 ” i ”。4.1.2 尽量采用项目所涉及领域的术语。4.1.3可以采用大小写混合,提高名字的可读性。4.1.4尽量少用缩写,但如果一定要使用,就要谨慎地使用。同时,应该保留一个标准缩写的列表,并且在使用时保持一致。4.1.5避免使用长名字(最好不超过 15 个字母)。4.1.6避免使用

9、相似或者仅在大小写上有区别的名字。4.1.7避免使用下划线作为名字的首末字母。4.2. 标示符的命名约定标示符类型命名约定例子命令空间(文件名)namespacel 全部小写。l 标识符用点号分隔开来。为了使包的名字更易读,建议命令空间中的标识符用点号来分隔。局部包:interface.screens类,接口l 类的名字应该使用名词。l 每个单词第一个字母应该大写。l 避免使用单词的错写,除非它的缩写已经广为人知,如HTTP。Class Hello ;Class HelloWorld ;Interface Apple ;方法l 第一个单词一般是动词。l 第一个字母是小些,但是中间单词的第一个字

10、母是大写。l 如果方法返回一个成员变量的值,方法名一般为get+成员变量名,如若返回的值是bool变量,一般以is作为前缀。l 如果方法修改一个成员变量的值,方法名一般为:set + 成员变量名。l 如果方法返回一个结束结束集或字符串,方法名一般为:do+成员变量名.getName();setName();isFirst();doAddressSearch();变量l 第一个字母小写,中间单词的第一个字母大写。l 不要用_或&作为第一个字母。l 尽量使用短而且具有意义的单词。l 单字符的变量名一般只用于生命期非常短暂的变量。i,j,k,m,n一般用于integers;c,d,e一般用于char

11、acters。l 如果变量是集合,则变量名应用复数。l 命名组件采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表。String myName;int i;int n;char c;int students;btNew;(bt是Button的缩写)常量l 所有常量名均全部大写,单词间以_隔开。int MAX_NUM;5. 声明5.1 每行应该只有一个声明。5.2 局部变量必须初始化。5.3 除了for循环外,声明应该放在块的最开始部分。for循环中的变量声明可以放在for语句中。如:for(int i=0;i10;i+) 。5.4 避免块内部的变量与它外部的变量名相同。6. 表达式和语句

12、6.1 每行应该只有一条语句。6.2 if-else,if-elseif语句,任何情况下,都应该有“”,“”;6.3 循环语句使用在数组数据或数据集判断时,考虑使用foreach,如:foreach (LoginInfo loginInfo in loginInfos)其他地方考虑为FOR 或WHILEfor 循环的语法for (expr1; expr2; expr3) / statements;foreach 循环的语法 foreach (string s in arr) / statements; while 和 do.while 循环的语法while (condition) / stat

13、ementsdo / statementswhile(condition);6.4 switch语句,每个switch里都应包含default子语句,格式如下:switch (condition) case ABC: statements; break;case DEF: statements; break;case XYZ: statements; break;default: statements; break;6.5 try-catch语句格式如下:try statements; catch (ExceptionClass e) statements; finally statement

14、s;7. 错误处理和异常事件不要“捕捉了异常却什么也不做”。如果隐藏了一个异常,你将永远不知道异常到底发生了没有。 发生异常时,给出友好的消息给用户,但要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。 别写太大的 try-catch 模块。如果需要,为每个执行的任务编写单独的 try-catch 模块。 这将帮你找出哪一段代码产生异常,并给用户发出特定的错误消息 如果应用程序需要,可以编写自己的异常类。自定义异常不应从基类SystemException派生,而要继承于. IApplicationException。8. 可移植性8.1 尽量不要使用已经被标为不赞成使用的类或方法。8.2 对于声明与后台对接的数据表类,必须进行序列号,在类文件中需加入Serializable关键字,如namespace geelyqns Serializable public class ClassName / 内部参考文件C#开发规范Last printed 1月/05/2025 | Page 13 of 13

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服