C#编码规范ppt课件.ppt_第1页
C#编码规范ppt课件.ppt_第2页
C#编码规范ppt课件.ppt_第3页
C#编码规范ppt课件.ppt_第4页
C#编码规范ppt课件.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 概述二 实例讲解三 注意点四 Q A C 编码规范 编码规范概述 编码规范的必要性 多人协作时 代码清晰易懂 容易发现代码的问题 调试时比较容易 体现部门形象 编码规范的要点 排版规范 缩进 空行 注释规范清晰 类名 方法名定义规范 大小写 变量定义规范 大小写 变量有意义 C 的编码规范制定原则 1参照微软在VS NET中 C 既有的规范来制定 2方便代码的交流和维护 3不影响编码的效率 不与大众习惯冲突 4使代码更美观 阅读更方便 5使代码的逻辑更清晰 更易于理解 遵守原则 首先遵守客户要求的规则 在客户没有指定规则的情况下 遵守本规则 编码规范概述 编码规范概述 C 的编码规范术语定义 Pascal大小写将标识符的首字母和后面连接的每个单词的首字母都大写 可以对三字符或更多字符的标识符使用Pascal大小写 例如 BackColorCamel大小写标识符的首字母小写 而每个后面连接的单词的首字母都大写 例如 backColor匈牙利大小写标示符的首字母用类型的简写 而每个后面连接的单词的首字母大写 例如 strBackColor 编码规范概述 匈牙利命名法特点 基本原则是 变量名 属性 类型 对象描述 其中每一对象的名称都要求有明确含义 可以取对象名字全称或名字的一部分 命名要基于容易记忆容易理解的原则 保证名字的连贯性是非常重要的 举例 表单的名称为form 那么在匈牙利命名法中可以简写为frm 则当表单变量名称为Switchboard时 变量全称应该为frmSwitchboard 这样可以很容易从变量名看出Switchboard是一个表单 同样 如果此变量类型为标签 那么就应命名成lblSwitchboard 可以看出 匈牙利命名法非常便于记忆 而且使变量名非常清晰易懂 这样 增强了代码的可读性 方便各程序员之间相互交流代码 编码规范概述 命名概述 名称应该说明 什么 而不是 如何 通过避免使用公开基础实现 它们会发生改变 的名称 可以保留简化复杂性的抽象层 例如 可以使用GetNextStudent 而不是GetNextArrayElement 命名原则是 选择正确名称时的困难可能表明需要进一步分析或定义项的目的 使名称足够长以便有一定的意义 并且足够短以避免冗长 唯一名称在编程上仅用于将各项区分开 表现力强的名称是为了帮助人们阅读 因此 提供人们可以理解的名称是有意义的 不过 请确保选择的名称符合适用语言的规则和标准 编码规范概述 以下几点是推荐的命名方法 1 避免容易被主观解释的难懂的名称 如方面名AnalyzeThis 或者属性名xxK8 这样的名称会导致多义性 2 在类属性的名称中包含类名是多余的 如Book BookTitle 而是应该使用Book Title 3 只要合适 在变量名的末尾或开头加计算限定符 Avg Sum Min Max Index 4 在变量名中使用互补对 如min max begin end和open close 5 布尔变量名应该包含Is bln 这意味着Yes No或True False值 如 6 在命名状态变量时 避免使用诸如Flag的术语 状态变量不同于布尔变量的地方是它可以具有两个以上的可能值 不是使用documentFlag 而是使用更具描述性的名称 如documentFormatType 此项只供参考 7 即使对于可能仅出现在几个代码行中的生存期很短的变量 仍然使用有意义的名称 仅对于短循环索引使用单字母变量名 如i或j 可能的情况下 尽量不要使用原义数字或原义字符串 如Fori 1To7 而是使用命名常数 如Fori 1ToNUM DAYS IN WEEK以便于维护和理解 编码规范概述 大小写规则 标识符中的所有首字母都大写 仅对于由两个或者更少字母组成的标识符使用该约定 例如 usingSystem IOusingSystem Web UI下表汇总了大写规则 并提供了不同类型的标识符的示例 使用单词缩写和首字母缩写词为了避免混淆和保证跨语言交互操作 请遵循有关区缩写的使用的下列规则 1 不要将缩写或缩略形式用作标识符名称的组成部分 例如 使用GetWindow 而不要使用GetWin 2 不要使用计算机领域中未被普遍接受的缩写 3 在适当的时候 使用众所周知的缩写替换冗长的词组名称 例如 用UI作为UserInterface缩写 用OLAP作为On lineAnalyticalProcessing的缩写 4 在使用缩写时 对于超过两个字符长度的缩写请使用Pascal大小写或Camel大小写 例如 使用HtmlButton或HTMLButton 但是 应当大写仅有两个字符的缩写 如 System IO 而不是System Io 5 不要在标识符或参数名称中使用缩写 如果必须使用缩写 对于由多于两个字符所组成的缩写请使用Camel大小写 虽然这和单词的标准缩写相冲突 编码规范概述 C 的编码规范文件 类的命名规则 方法的命名规则 常量 变量 参数的定义规则 代码的格式 注释的书写格式 效率方面注意的问题 编码规范概述 C 的编码规范文件的命名规则文件的命名采用Pascal命名规则 无特殊情况 文件的扩展名小写 文件的扩展名使用统一而且通用的扩展名 如C 类使用扩展名 cs例如 StudentInfo csProfesserInfo csDepartment cs 实例讲解 实例讲解 C 的编码规范命名空间1 命名命名空间时的一般性规则是使用公司名称 后跟技术名称和可选的功能与设计 如下所示 公司名称 项目名称 CompanyName TechnologyName Feature Design 例如 namespaceLangchao Procurement 浪潮公司的采购单管理系统namespaceLangchao Procurement DataRules 浪潮公司的采购单管理系统的业务规则模块2 命名空间使用Pascal大小写 用点号分隔开 3 TechnologyName指的是该项目的英文缩写 或软件名 4 命名空间和类不能使用同名字 例如 有一个类被命名为Debug后 就不要再使用Debug作为一个名称空间名 C 的编码规范类的命名规则1 类的名字必须是有意义的 且与类实现的功能或业务逻辑相关的名字 用名词或名词短语命名类 2 使用全称避免缩写 除非缩写已是一种公认的约定 如URL HTML 3 不要使用类型前缀 如在类名称上对类使用C前缀 例如 使用类名称 而不是C 4 不要使用下划线字符 5 除接口类的其他所有类 包括普通类 抽象类等 都采用Pascal命名法 且主类的名字与文件名一致 每个单词的首字母都大写 6 接口类有自己特殊的命名规则 类的前缀为 I 后面连接Pascal命名法所起的有意义的名字 同样 类名与文件名相同 如 IFormatable 7 有时候需要提供以字母I开始的类名称 虽然该类不是接口 只要I是作为类名称组成部分的整个单词的第一个字母 这便是适当的 例如 类名称IdentityStore是适当的 实例讲解 C 的编码规范方法的命名规则按照C 语言本身的原始特征 方法的命名采用Pascal命名规则 另外 方法的命名应该说明的是 做什么 而不是 如何做 方法的名称应该足够长以便有一定的意义 又应该足够短 以避免冗长 如 WriteToFile 1 使用动词或动词短语命名方法 2 使用Pascal大小写 3 以下是正确命名的方法的实例 RemoveAll GetCharArray GetModel GetPageList 实例讲解 C 的编码规范常量所有的常量都必须是大写字母组成 如果常量有几个单词组成 则单词之间用下划线 进行连接 如 privateconststringUSER NAME abc publicconststringPAGE TITLE Welcome 实例讲解 C 的编码规范变量变量在定义的时候 需要根据变量的数据类型添加不同的前缀 前缀全部小写 但不需要区分其作用域 另外 变量的命名规则采用数据类型前缀 Pascal命名规范 如 privatestringstrName 实例讲解 实例讲解 C 的编码规范变量C 中各常用的变量的前缀如下表所示 实例讲解 C 的编码规范变量C 中各常用的变量的前缀如下表所示 续 实例讲解 C 的编码规范变量C 中各常用的变量的前缀如下表所示 续 实例讲解 C 的编码规范参数在方法定义中的形参 采用Pascal命名方法 不需要根据数据类型来添加前缀 作为调用方法时传递的实参 则采用上面变量的命名规则 使用数据类型前缀 Pascal命名方法 驼峰命名规范如 voidSetName stringname 调用的时候 可以如下 stringstrName abc SetName strName 实例讲解 C 的编码规范代码格式代码的格式包括缩进 换行 空行 空格等 为了不影响编码的效率 在此只作如下规定 空格 空行不做严格的固定 以使代码清晰为基本原则 空行不影响程序的运行 但可以使代码看起来清晰 增加可读性 因此可以适当的多用 代码的缩进建议使用tab键进行控制 tab键的大小设置为4个空格 每个层次都要进行缩进 如 if isOverFlow returnfalse endif换行 掌握的原则是不要使一行代码特别的长 再不产生严重歧义或增加阅读难度的情况下 尽量控制在110列之内 以方便代码的打印 另外 换行的原则是 在逗号后 操作符前换行 换行与首行要保持一个单位的缩进 如 stringstrSql SELECTID NAME SEX BIRTHDAY BELONGCLASSID BELONGGRADEID FROMSTUDENTINFO 必须单独在一行上 且上下对齐 if while do try catch finally等语句后必须有 即使里面只有一条语句或为空 实例讲解 C 的编码规范代码格式列宽代码列宽控制在屏幕宽度以内 110字符左右为宜 每行长度尽量避免超过屏幕宽度换行当表达式超出或即将超出规定的列宽 遵循以下规则进行换行1 在逗号后换行 2 在操作符前换行 3 规则1优先于规则2 当以上规则会导致代码混乱的时候自己采取更灵活的换行规则 缩进缩进应该是每行一个Tab 4个空格 不要在代码中使用Tab字符 VisualStudio Net设置 工具 选项 文本编辑器 C 制表符 插入空格 实例讲解 C 的编码规范代码格式空行空行是为了将逻辑上相关联的代码分块 以便提高代码的可阅读性 在以下情况下使用两个空行1 接口和类的定义之间 2 枚举和类的定义之间 3 类与类的定义之间 在以下情况下使用一个空行1 方法与方法 属性与属性之间 2 方法中变量声明与语句之间 3 方法与方法之间 4 方法中不同的逻辑块之间 5 方法中的返回语句与其他的语句之间 6 属性与方法 属性与字段 方法与字段之间 7 注释与它注释的语句间不空行 但与其他的语句间空一行 实例讲解 C 的编码规范代码格式空格在以下情况中要使用到空格1 关键字和左括符 应该用空格隔开 如while true 注意在方法名和左括符 之间不要使用空格 这样有助于辨认代码中的方法调用与关键字 2 多个参数用逗号隔开 每个逗号后都应加一个空格 3 除了 之外 所有的二元操作符都应用空格与它们的操作数隔开 一元操作符 及 与操作数间不需要空格 如a c d a a b c d while d s n PrintSize sizeis size n 4 语句中的表达式之间用空格隔开 如for expr1 expr2 expr3 实例讲解 C 的编码规范代码格式括号 1 左括号 不要紧靠关键字 中间用一个空格隔开 2 左括号 与方法名之间不要添加任何空格 3 没有必要的话不要在返回语句中使用 如if condition Array Remove 1 return1 实例讲解 C 的编码规范代码格式花括号 1 左花括号 放于关键字或方法名的下一行并与之对齐 如publicintAdd intx inty 2 左花括号 要与相应的右花括号 对齐 3 通常情况下左花括号 单独成行 不与任何语句并列一行 4 if while do语句后一定要使用 即使 号中为空或只有一条语句 如if somevalue 1 somevalue 2 实例讲解 C 的编码规范代码格式花括号 5 右花括号 后建议加一个注释以便于方便的找到与之相应的 如while 1 if valid ifvalidelse notvalid endforever 实例讲解 C 的编码规范注释要养成良好的代码注释习惯 通常 注释要占实际代码总行数的1 3 同时 要在编写代码前或编写代码的同时进行代码的注释 不要事后补写注释 注释分为多行注释和单行注释 我们的原则是 在类和方法的前面 要写多行注释 在定义类的全局变量 常量 以及方法的内部 使用单行注释 注释的前面与代码之间要有空行 单行注释 我们鼓励都要单独一行 不鼓励在语句的后面使用注释 当然 在变量定义的后面使用注释也是允许的 另外 在编写注释的时候 建议使用C 自己的注释风格 即在类的前面和方法的前面使用 进行注释 实例讲解 C 的编码规范注释 续 特别注意 如果是在已经发行版本的基础上添加 修改 删除代码 则需要将原先的代码注释掉 而不是直接删除掉 然后添加自己的代码 如 添加新代码的注释 addby 姓名 yyyyMMdd xxx addby 姓名 yyyyMMdd修改代码的注释 updateby 姓名 yyyyMMdd xxxyyy updateby 姓名 yyyyMMdd删除代码的注释 deleteby 姓名 yyyyMMdd xxx deleteby 姓名 yyyyMMdd 实例讲解 C 的编码规范方法和函数注释 获取分页SQL 表名 每页显示条数 第几页 排序字段 最后一个不需要填写正序还是倒序 例如 idasc name 最后一个排序字段的正序或倒序 true为倒序 false为正序 条件 返回用于分页的SQL语句privatestringGetPagerSQL stringtblName intpageSize intpageIndex stringfldSort boolfldDir stringcondition code 实例讲解 C 的编码规范区域 region把相同性质的相关代码分组包含起来 如一组事件 方法 属性 字段等 如果内容少允许不包 原因 如果一个类比较长 归类可以方便阅读和查找 如果归类后的某层还很大 可以考虑里面再按用途归类 实例讲解 C 的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论