ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:282.50KB ,
资源ID:11895407      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11895407.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(规范C#编程.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

规范C#编程.doc

1、C#编码规范 1规范目的 ……………………………………………………… 3 2适用范围 ……………………………………………………… 3 3代码注释 ……………………………………………………… 3   3.1 代码注释约定............................................ 3   3.2 模块头部注释规范...................................... 3   3.3 方法注释规范............................................. 4   3.4 代码行注释规范.........

2、 6   3.5 变量注释规范............................................. 7 4命名规则 ……………………………………………………… 8   4.1 命名的基本约定.......................................... 8   4.2 各种标示符类型的基本约定......................... 9   4.3 组件名称缩写列表....................................... 10 5其它规范 …

3、…………………………………………………… 11   5.1 编程风格.................................................. 11   5.2 资源释放.................................................. 13   5.3 错误处理.................................................. 13   5.4 其它......................................................... 14 1规范目的 1 一

4、个软件的生命周期中,80%的花费在于维护; 2 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护; 3 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。为了执行规范,每个软件开发人员必须一致遵守编码规范; 4 使用统一编码规范的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段代码; 5 好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致,并且尽可能的直观。 2适用范围 6 本规范主要以C#为开发语言的规范,为鲍亮实验室的原则性规范; 7 由于本规范是为撰写程序而设计,所以适用于一切有关程序撰写的工作事项

5、对于具体的每个项目,可能需要对之进行裁剪和补存。 8 适用人员:软件工程专业的学生; 9 适用产品:以C#编写的程序。 3代码注释 3.1代码注释约定 10 所有的方法和函数都应该以描述这段代码的功能的一段简明注释开始(方法是干什么)。这种描述不应该包括执行过程细节(它是怎么做的),因为这常常是随时间而变的,而且这种描述会导致不必要的注释维护工作,甚至更糟—成为错误的注释。代码本身和必要的嵌入注释将描述实现方法。 11 当参数的功能不明显且当过程希望参数在一个特定的范围内时,也应描述传递给过程的参数。被过程改变的函数返回值和全局变量,特别是通过引用参数的那些,也必须在每个过程

6、的起始处描述它们。 3.2模块头部注释规范 以一个物理文件为单元的都需要有模块头部注释规范,例如:C#中的.cs文件 用于每个模块开头的说明,主要包括:(粗体字为必需部分,其余为可选部分) 12 文件名称(File Name): 此文件的名称 13 功能描述(Description): 此模块的功能描述与大概流程说明 14 数据表(Tables): 所用到的数据表,视图,存储过程的说明,如关系比较复杂,则应说明哪些是可擦写的,哪些表为只读的。 15 作者(Author): 16 日期(Create Date): 17 参考文档(Reference)(可选): 该档所对应的分析

7、文档,设计文檔。 18 引用(Using) (可选)﹕ 开发的系统中引用其它系统的Dll、对象时,要列出其对应的出处,是否与系统有关﹙不清楚的可以不写﹚,以方便制作安装档。 19 修改记录(Revision History):若档案的所有者改变,则需要有修改人员的名字、修改日期及修改理由。 20 分割符:*************************** (前后都要) 示例如下:    3.3方法注释规范   1> C# 提供一种机制,使程序员可以使用含有XML 文本的特殊注释语法为他们的代码编写文档。在源代码文件中,具有某种格式的注释可用于指导某个工具根     据这些注释

8、和它们后面的源代码元素生成XML。具体应用当中,类、接口、属性、方法必须有

节,另外方法如果有参数及返回值,则必须有       节。示例如下:     ///     /// …     ///     ///     ///   2> 事件不需要头注解,但包含复杂处理时(如:循环/数据库操作/复杂逻辑等),应分割成单一处理函数,事件再调用函数。   3> 所有的方法必须在其定义前增加方法注释。  

9、 4> 方法注释采用 /// 形式自动产生XML标签格式的注释。 标记 说明 备注 提供了一种将说明中的文本标记为代码的方法 提供了一种将多行指示为代码的方法 可以指定使用方法或其他库成员的示例。一般情况下,这将涉及到 标记的使用。 对可从当前编译环境中获取的异常的引用。 得以引用描述源代码中类型和成员的另一文件中的注释。 用于定义表或定义列表中的标题行。 用于诸如

或 <

10、returns> 等标记内,使您得以将结构添加到文本中。 应当用于方法声明的注释中,以描述方法的一个参数。 提供了一种指示词为参数的方法。 得以将成员的访问记入文档。 用于添加有关某个类型的信息,从而补充由

所指定的信息。 应当用于方法声明的注释,以描述返回值。 得以从文本内指定链接。 对可以通过当前编译环境进行调用的成员或字段的引用。 应当用于描述类型或类

11、型成员。 得以描述属性。     示例图如下:       5> 在公用类库中的公用方法需要在一般方法的注释后添加作者、日期及修改记录信息,统一采用XML标签的格式加注,标签如下:      作者      建立日期      修改记录        修改作者        修改日期       

12、eason> 修改理由        修改作者        修改日期        修改理由        修改作者        修改日期        修改理由          

13、e> 最后修改日期   6> 一个代码文件如果是由一人编写,则此代码文件中的方法无需作者信息,非代码文件作者在此文件中添加方法时必须要添加作者、日期等注释。   7> 修改任何方法,必须要添加修改记录的注释。 3.4代码行注释规范   1> 如果处理某一个功能需要很多行代码实现,并且有很多逻辑结构块,类似此种代码应该在代码开始前添加注释,说明此块代码的处理思路及注意事项等   2> 注释从新行增加,与代码开始处左对齐     3> 双斜线与注释之间以空格分开,示例图如下所示:    3.5变量注释规范   1> 定义变量时需添加变量注释,用以说明变量的用途。   2> Cl

14、ass级变量应以采用 /// 形式自动产生XML标签格式的注释,示例图如下所示:     3> 方法级的变量注释可以放在变量声明语句的后面,与前后行变量声明的注释左对齐,注释与代码间以Tab隔开。 4命名规则 4.1命名的基本约定   1> 要使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以     被命名为 “i”。   2> 要尽量采用项目所涉及领域的术语。   3> 要采用大小写混合,提高名字的可读性。为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不

15、采用下划线作分隔字符的写法。     有两种适合的书写方法,适应于不同类型的标识符:       PasalCasing:标识符的第一个单词的字母大写;       camelCasing:标识符的第一个单词的字母小写。   4> 下表描述了不同类型标识符的大小写规则: 标识符 大小写 示例 命名空间 Pascal namespace Com.Techstar.ProductionCenter 类型 Pascal public class DevsList 接口 Pascal public interface ITableModel 方法 Pascal p

16、ublic void UpdateData() 属性 Pascal Public int Length{…} 事件 Pascal public event EventHandler Changed; 私有字段 Camel private string fieldName; 非私有字段 Pascal public string FieldName; 枚举值 Pascal FileMode{Append} 参数 Camel public void UpdateData(string fieldName) 局部变量 Camel string fieldNam

17、e;   5> 避免使用缩写,如果一定要使用,就谨慎使用。同时,应该保留一个标准缩写的列表,并且在使用时保持一致。   6> 对常见缩略词,两个字母的缩写要采用统一大小写的方式(示例:ioStream, getIOStream);多字母缩写采用首字母大写,其他字母小写的方式(示例:     getHtmlTag);   7> 避免使用长名字(最好不超过 15 个字母)。   8> 避免使用相似或者仅在大小写上有区别的名字。 4.2各种标示符类型的命名约定   1>程序集命名   实验室名称(Lab)+ 项目名称 + 模块名称(可选),例如:     中心服务器程序集:Lab.S

18、everCenter;     中心服务器业务逻辑程序集:Lab.SeverCenter.Business;   2>命名空间命名   采用和程序集命名相同的方式:实验室名称(Lab)+ 项目名称 + 模块名称。 另外,一般情况下建议命名空间和目录结构相同。例如:     中心服务器:Lab.SeverCenter;     中心服务器下的用户控件:Lab.SeverCenter.UserControl;     中心服务器业务逻辑:Lab.SeverCenter.Business;     中心服务器数据访问:Lab.SeverCenter.Data;   3>程序集和DLL

19、   l 大多数情况下,程序集包含全部或部分可重用库,且它包含在单个动态链接库(DLL) 中。   l 一个程序集可拆分到多个DLL 中,但这非常少见,在此准则中也没有说明。   l 程序集和DLL 是库的物理组织,而命名空间是逻辑组织,其构成应与程序集的组织无关。   l 命名空间可以且经常跨越多个程序集。可以考虑如下模式命名DLL:    ..dll    例:Lab.SeverCenter.dll   4>类和接口命名   l 类的名字要用名词;   l 避免使用单词的缩写,除非它的缩写已经广为人知,如HTTP。   l 接口的

20、名字要以字母I开头。保证对接口的标准实现名字只相差一个“I”前缀,例如对IComponent接口的标准实现为Component;   l 泛型类型参数的命名:命名要为T或者以T开头的描述性名字,例如:     public class List     public class MyClass   l 对同一项目的不同命名空间中的类,命名避免重复。避免引用时的冲突和混淆;   5>方法命名   l 第一个单词一般是动词;   l 如果方法返回一个成员变量的值,方法名一般为Get+成员变量名,如若返回的值 是bool变量,一般以Is作为前缀。另外,如果必要

21、考虑用属性来替代方法;   l 如果方法修改一个成员变量的值,方法名一般为:Set + 成员变量名。同上,考虑 用属性来替代方法。   6>变量命名   l 按照使用范围来分,我们代码中的变量的基本上有以下几种类型,类的公有变量;类的私有变量(受保护同公有);方法的参数变量;方法内部使用的局部变量。    这些变量的命名规则基本相同,见标识符大小写对照表。区别如下:     a) 类的公有变量按通常的方式命名,无特殊要求;     b) 类的私有变量采用两种方式均可:采用加“m”前缀,例如mWorkerName;     c) 方法的参数变量采用camalString,例如wor

22、kerName;   l 方法内部的局部变量采用camalString,例如workerName。   l 不要用_或&作为第一个字母;   l 尽量要使用短而且具有意义的单词;   l 单字符的变量名一般只用于生命期非常短暂的变量:i,j,k,m,n一般用于integer;c,d,e 一般用于characters;s用于string   l 如果变量是集合,则变量名要用复数。例如表格的行数,命名应为:RowsCount;   l 命名组件要采用匈牙利命名法,所有前缀均应遵循同一个组件名称缩写列表 4.3组件名称缩写列表   缩写的基本原则是取组件类名各单词的第一个字母,如果只

23、有一个单词,则去掉其中的元音,留下辅音。缩写全部为小写。 组件类型 缩写 例子 Label Lbl lblNote TextBox Txt txtName Button Btn btnOK ImageButton Ib ibOK LinkButton Lb lbJump HyperLink Hl hlJump DropDownList Ddl ddlList CheckBox Cb cbChoice CheckBoxList Cbl cblGroup RadioButton Rb rbChoice RadioButtonLis

24、t Rbl rblGroup Image Img imgBeauty Panel Pnl pnlTree TreeView Tv tvUnit WebComTable Wct wctBasic ImageDateTimeInput Dti dtiStart ComboBox Cb cbList MyImageButton Mib mibOK WebComm.TreeView Tv tvUnit PageBar Pb pbMaster 5其它规范 5.1 编程风格   1>变量声明:   为了保持更好的阅读习惯,请不要把多

25、个变量声明写在一行中,即一行只声明一个变量。   例如:   String strTest1, strTest2;   应写成:   String strTest1;   String strTest2;   2>代码缩进:   l 一致的代码缩进风格,有利于代码的结构层次的表达,使代码更容易阅读和传阅;   l 代码缩进使用Tab键实现,最好不要使用空格,为保证在不同机器上使代码缩进保持一致,特此规定C#的Tab键宽度为4个字符,设定界面如下(工具–选项):      l 避免方法中有超过5个参数的情况,一般以2,3个为宜。如果超过了,则应使用struct来传递多个参数。

26、   l 为了更容易阅读,代码行请不要太长,最好的宽度是屏幕宽度(根据不同的显示分辩率其可见宽度也不同)。请不要超过您正在使用的屏幕宽度。(每行代码不要    超过80个字符。)   l 程序中不应使用goto语句。   l 在switch语句中总是要default子句来显示信息。   l 方法参数多于8个时采用结构体或类方式传递   l 操作符/运算符左右空一个半角空格   l 所有块的{}号分别放置一行,并嵌套对齐,不要放在同一行上   3>空白:   l 空行将逻辑相关的代码段分隔开,以提高可读性。   l 下列情况应该总是使用两个空行:     a) 一个源文件的

27、两个片段(section)之间。     b) 类声明和接口声明之间。   l 下列情况应该总是使用一个空行:     a) 两个方法之间。     b) 方法内的局部变量和方法的第一条语句之间。     c) 块注释(参见"5.1.1")或单行注释(参见"5.1.2")之前。     d) 一个方法内的两个逻辑段之间,用以提高可读性。   l 下列情况应该总是使用空格:     a) 空白应该位于参数列表中逗号的后面,如:       void UpdateData(int a, int b)     b) 所有的二元运算符,除了".",应该使用空格将之与操作数分开。一元

28、操作符和操作数之间不因该加空格,比如:负号("-")、自增("++")和自减("--")。例       如:         a += c + d;         d++;     c) for 语句中的表达式应该被空格分开,例如:         for (expr1; expr2; expr3)     d) 强制转型后应该跟一个空格,例如:         char c;         int a = 1;         c = (char) a; 5.2资源释放   所有外部资源都必须显式释放。例如:数据库连接对象、IO对象等。    5.3错误处理

29、  1> 不要“捕捉了异常却什么也不做“。如果隐藏了一个异常,你将永远不知道异常到底发生了没有。   2> 发生异常时,给出友好的消息给用户,但要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。   3> 只捕捉特定的异常,而不是一般的异常。   正确做法:      错误做法:    5.4其它   1> 一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。   2> 使用C#的特有类型,而不是System命名空间中定义的别名类型。   3> 别在程序中使用固定数值,用常量代替。   4> 避免使用很多成员变量。声明局部变量,并传

30、递给方法。不要在方法间共享成员变量。如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么     时候修改了它的值。   5> 别把成员变量声明为 public 或 protected。都声明为 private 而使用 public/protected 的属性   6> 不在代码中使用具体的路径和驱动器名。 使用相对路径,并使路径可编程。   7> 应用程序启动时作些“自检”并确保所需文件和附件在指定的位置。必要时检查数据库连接。出现任何问题给用户一个友好的提示。   8> 如果需要的配置文件找不到,应用程序需能自己创建使用默认值的一份。   9> 如果在配置文件中发现错误值,应用程序要抛出错误,给出提示消息告诉用户正确值。   10> DataColumn取其列时要用字段名,不要用索引号。     例: 正确DataColumn[“Name”]      不好 DataColumn[0]   11> 在一个类中,字段定义全部统一放在class的头部、所有方法或属性的前面。   12> 在一个类中,所有的属性全部定义在一个属性块中:    Version:1.0.0 Date:2012.8.30

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服