软件开发代码规范(C#版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发代码规(C#版)
拟制: 日期:2007-2-13 审核: 日期:
审核: 日期:
批准: 日期:
所有 ********
修订纪录
目录
1、第一章命名规 (4)
1.1、第一节总则 (4)
1.2、第二节变量命名规 (4)
1.2.1、CodeBehind部命名规 (4)
1.2.2、控件命名规 (5)
1.3、第三节常量命名规 (5)
1.4、第四节命名空间、类、方法命名规 (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、第三章编写规 (8)
3.1、第一节格式规 (8)
3.2、第二节编程规 (9)
3.2.1 、程序结构要求 (9)
3.2.2 、可读性要求 (9)
3.2.3 、结构化要求 (10)
3.2.4 、正确性与容错性要求 (10)
3.2.5 、可重用性要求 (10)
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.命名时尽量不使用拼音,更不可使用拼音缩写(专有名词除外)。
3.如果使用品牌名称命名时其大小写尽量保持和品牌名称一致的样式。
如:LuX则命名时,不要写成LUX,或者Lux,而应该保持与原品牌名称风格一致使用LuX
4.使用专有名词或英文缩写命名时采用大写形式。
如:CNNIC
5.禁止使用仅区分大小写的方式命名。
如:Abc与abc仅用大写A来区分,这样写在类C系语言中不会出错,但是不利于系统的迁移
1.2、第二节变量命名规
1.2.1、CodeBehind部命名规
1.公有字段/属性使用Pascal 命名规则,私有变量/保护变量/局部变量使用Camel命名规则,遵循动宾结构。
例:
public class Hello
{
private string userName;
private DateTime loginTime;
private bool isOnline;
public string UserName {
get { return erName; }
}
}
2.即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用意义描述性的名称。仅对于短循环索引使用单字母变量名,如 i 或 j
3.在变量名中使用互补对,如 Min/Max、Begin/End 和 Open/Close。
4.当一个方法部变量繁多的时候,可以使用Camel命名法则,其中第一个单词可以使用变量类型的缩写来说明以示区别。
例:
string str Name;
int int Age;
object obj Person;
1.2.2、控件命名规
1.控件命名使用控件缩写加名称的方式
1.3、第三节常量命名规
常量名也应当有一定的意义,格式为 NOUN 或 NOUN_VERB。常量名均为大写,字之间用下划线分隔。
例:
private const bool WEB_ENABLEPAGECACHE_DEFAULT = true;
private const int WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600;
private const bool WEB_ENABLESSL_DEFAULT = false;
注:
变量名和常量名最多可以包含 255 个字符,但是,超过 25 到 30 个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25 或 30 个字符应当足够了。
1.4、第四节命名空间、类、方法命名规
1.名字应该能够标识事物的特性。
2.名字尽量不使用缩写,除非它是众所周知的。
3.名字可以有两个或三个单词组成,但通常不应多于三个。
4.使用名词或名词短语命名类。
5.尽可能少用缩写。
6.不要使用下划线字符 (_)。
7.命名空间名称使用此格式:Snda + 项目名称 + 逻辑层名称
例:
namespace Snda.CodeTest.BR
{
public class FileStream
{
public void InPut(string para)
{}
}
}
1.5、第五节接口命名规
和类命名规相同,唯一区别是接口在名字前加上大写“I”前缀
例:
interface IDBCommand;
interface IButton;
1.6、第六节命名规小结
1、使用Pascal命名方式命名类、方法、属性和常量
2、使用Camel命名方式命名局部变量和方法的参数
3、接口使用Pascal命名方式,并且在前面添加“I”
4、方法命名使用动宾结构,比如ShowDialog( )
5、有返回值的方法命名应有单词来描述,比如GetObjectState( )
6、避免使用带命名空间的类型,尽量用using关键字
7、避免把using语句放到命名空间
8、控件命名使用控件缩写加名称的方式
9、常量命名采用全部大写的形式,要想一个有实际意义的名称,清楚地表达常量的用途2、第二章代码注释规
2.1、第一节模块级注释规(命名空间、类等)
模块须以以下形式书写模块注释: