DotNet编码规范.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DotNet编码规范

C# 编码规范 南方软件精英实验室 二零一三年十月 目录 1 目标 4 2 概述 4 3 总体要求 4 3.1 程序结构化 4 3.2 代码可读性 4 3.3 代码结构化 4 3.4 正确性与容错性 5 4 编码规范 5 4.1 文件结构 5 4.1.1 C# 文件 5 4.1.2 目录结构 5 4.2 缩进 5 4.2.1 换行 5 4.2.2 空格 6 4.3 注释 6 4.3.1 模块注释 6 4.3.2 单行注释 7 4.3.3 类注释 7 4.3.4 方法注释 7 4.4 声明 7 4.4.1 单行声明变量数 7 4.4.2 初始化 8 4.4.3 类和接口声明 8 4.5 功能语句 9 4.5.1 简单逻辑 9 4.5.2 if-else语句 9 4.5.3 For / Foreach 语句 9 4.5.4 While/do-while 语句 9 4.5.5 Switch 语句 10 4.5.6 Try-catch 语句 10 4.6 空白 11 4.6.1 空白行 11 4.6.2 参数条件之间的空白 11 4.6.3 表格式的样式 12 4.7 命名规范 12 4.7.1 大写 12 Pascal 风格 12 驼峰规则 12 大写风格 12 4.7.2 命名方法 12 类命名 13 接口命名 13 枚举命名 13 常量命名 13 参数命名 13 变量命名 13 方法命名 13 属性命名 14 事件命名 14 0 大写风格 14 4.8 开发习惯 14 4.8.1 可见性 14 4.8.2 不要硬编码数字 15 4.9 代码示例 15 4.9.1 作用域(“{}”)示例 15 5 附录 16 5.1 XML注释标记的使用 16 6 版本记录 19 目标 为新宇DotNet组的C#程序员制定一个统一的编码规范,最大限度减少不同程序员开发的代码间的差异。 概述 为了使应用程序的结构和编码风格标准化,便于阅读和理解编码好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。 程序结构化 程序结构清晰,函数功能简单易懂(单个函数的代码行数不超过100行) 代码可读性 保持注释与代码完全一致 每个源程序文件,都有文件头说明,详细见下节 每个函数,都有函数头说明,详细见下节 主要变量(结构、联合、类或对象)定义或引用时,注释能反映其含义 处理过程的每个阶段都有相关注释说明 在典型算法前都有注释, 同时算法在满足要求的情况下尽可能简单 利用缩进来显示程序的逻辑结构,缩进量一致并以Tab键为单位,定义Tab为 4个字节 循环、分支层次一般不应超过五层 代码简单的分支应该写在前面 不允许同行出现两个语句 空行和空白字符也是一种特殊注释 一目了然的语句不加注释 注释的作用范围可以为:定义、引用、条件分支以及一段代码 常量定义(DEFINE)有相应说明 代码结构化 禁止GOTO语句 用 CASE 实现多路分支 避免不必要的分支 用 IF 语句来强调只执行两组语句中的一组。尽量不使用 ELSE RETURN 尽量避免从循环引出多个出口 正确性与容错性 所有变量在调用前必须被初始化 不要比较浮点数的相等,如: 10.0 * 0.1 == 1.0 , 不可靠 访问外部资源(数据库,外部文件)时使用规范的容错语句 例如: try { } catch { } finally { } 文件结构 C# 文件 尽量不要让你的类或者文件太长,一般不应超过2000行代码。请按照功能划分你的代码,使结构保持清晰。一般情况下,一个文件应当只有一个类,并且文件名应该与类名保持一致。 目录结构 应该为每个名称空间(namespace)建立一个目录(例如,我们可以为名称空间MyProject.TestSuite.TestTier建立这样的目录:MyProject/TestSuite/TestTier)。这样做可以让你很快定位到指定名称空间下的类文件。 缩进 换行 如果表达式太长而一行无法写下时,请按照下列规范进行换行: 可以在逗号后面进行换行 可以在操作符号后进行换行 尽量选择在较高层处进行换行 换行后的新行应当与前一行中同级别的运算符对齐 例子: 方法调用换行: longMethodCall(expr1, expr2, ???????????????expr3, expr4, expr5); 算术表达式换行: 规范的: var = a * b / (c - g + f) + ??????4 * z; 不规范的: var = a * b / (c - g + ?

文档评论(0)

kabudou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档