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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(宝桥科技C#编程规范.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

宝桥科技C#编程规范.docx

1、宝桥科技C#编程规范宝桥科技编程规范Version 1.0.9.0225一、 本规范版本变化 1二、 概述 1三、 版本号命名规则 1四、 命名规范 1五、 代码外观 3六、 程序注释 4七、 控件命名规则 5八、 界面设计规范 6九、 数据库命名规则(暂定) 6十、 附录 9一、 本规范版本变化Version 1.0.9.0129 yux 完成Version 1.0.9.0130 增加了数据库命名规则、界面设计规范。Version 1.0.9.0205 数据库部分细节改动。Version 1.0.9.0225 按钮命名细节改动。二、 概述规范制定原则1 方便代码的交流和维护。2 不影响编码的

2、效率,不与大众习惯冲突。3 使代码更美观、阅读更方便。4 使代码的逻辑更清晰、更易于理解。术语定义Pascal 大小写将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用Pascal 大小写。例如: BackColorcamel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如: backColor三、 版本号命名规则版本号分为4段,前两段为主版本号和辅版本号,定义了软件的版本。第3段为设定版本时的年份,2009年及以前为一位数字,2010年以后为两位数字。第4段为设定版本时的日期,用4位数字表示,如0129表示1月29日如1.0.9.012

3、9,含义为版本1.0,2009-1-29最终发布。四、 命名规范1、 命名规则命名时尽可能使用英文的全称,尤其是类名和接口名。命名时尽可能不用下划线,除非全部大写。命名时少用s,如使用user而不要用users,集合除外。在面向对象的语言中,在类属性的名称中包含类名是多余的,如不应该使用Book.BookTitle。而是应该使用 Book.Title。布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。或者写清楚注释。

4、可能的情况下,尽量不要使用原义数字或原义字符串,如 For i = 1 To 7。而是使用命名常数,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于维护和理解。命名空间和类不能使用同样的名字。例如,有一个类被命名为Debug后,就不要再使用Debug作为一个名称空间名。在适当的地方,使用复合单词命名派生的类。如ApplicationException 是从名为 Exception 的类派生的类。接口开始字母一定为大写的I,而后跟随Pascal方式的接口名,如 IPersistable。而IdentityStore也是合适的类名或其它名称,因为并不会混淆。对于参数,不需要添

5、加str或int等前缀后缀,而应该使用可以描述参数意义的名称。例如:string Format(string format, args() As object)Public的字段用Pascal命名方式,而private,protect字段用camel命名。属性的命名尽可能与对应的字段同名,用大小写来区分。集合的命名时,尽可能使用复数。2、 大小写规则基本原则:内部封装起来的私有字段、参数、变量为camel命名方法,其它的为Pascal命名方法。常数使用全部大写字母,单词之间使用下划线分隔。常用计算机通用单词缩写可写成大写,如IO,UI,TCP,CRM等。标识符大小写示例常数全部大写NUM_DA

6、YS_IN_WEEK 可以使用下划线分隔类PascalAppDomain枚举类型PascalErrorLevel枚举值PascalFatalError事件PascalValueChange接口PascalIDisposable 注意 总是以 I 前缀开始。方法PascalToString命名空间PascalSystem.Drawing属性PascalBackColor公共字段PascalRedValue 注意 很少使用。属性优于使用公共实例字段。只读静态字段PascalRedValue私有字段camelredValue参数cameltypeName方法内的变量camelbackColor3、

7、DotNet中的关键字尽可能不要用作变量名详见附录,虽然多数为的关键字,但考虑到.net框架的通用性,建议尽量不用。五、 代码外观1、 列宽代码列宽控制在110字符左右,也就是大约屏幕的4/3宽。如果太长需要换行,则从第二行起向后缩进。如:string inserString = Insert Into TableName (username,password,email,sex,address)+ Values(张三,123546,123,男,体育路11号);2、 缩进 缩进应该是每行一个Tab(4个空格),按照VS2005环境的默认生成格式进行缩进。3、 空行空行是为了将逻辑上相关联的代码

8、分块,以便提高代码的可阅读性。在以下情况下使用两个或更多空行1、接口和类的定义之间。2、枚举和类的定义之间。3、类与类的定义之间。 在以下情况下使用一个空行1、 属性与属性之间、方法与方法之间。2、 属性、方法、字段相互之间。3、 方法中变量声明与语句之间。4、 方法中不同的逻辑块之间。5、 方法中的返回语句与其他的语句之间。6、 注释与它注释的语句间不空行,但与其他的语句间空一行。4、 花括号 - 1、 左花括号 “” 放于关键字或方法名的下一行并与之对齐,同时与右花括号“”对齐。如 if (condition) 2、 if、while、do语句后一定要使用“”,即使“”号中为空或只有一条语

9、句,除非不加“”能提高程序的可读性。如 if (someValue = 1) someValue = 2; 5、 代码块在代码中点击右键插入代码段Visual C#。(提示:大多数情况下,输入关键字后按TAB键即可自动生成代码,如try+TAB)与VS2005环境自动生成的代码块保持一致。6、 重构多使用VS2005开发环境提供的代码重构功能:例如在类的某一个字段上点击右键重构封装字段。六、 程序注释1、 原则 每一个文件,每一个类,每一个类的public方法必须填写正确的注释。 如果进行了修改,则在文件上方填写相应的修改信息,并在代码中注出修改的地方和修改的原因。如果修改的是其它人的模块,则

10、必须填写修改人的标识。 修改代码时,总是使代码周围的注释保持最新。 避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。 避免在块注释的周围加上印刷框。这样看起来可能很漂亮,但是难于维护。 如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。尽一切可能不注释难以理解的代码,而应该重写它。尽管一般不应该为了使代码更简单以便于人们使用而牺牲性能,但必须保持性能和可维护性之间的平衡。 在编写代码时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。 注释代码中不十分明显的任何内容。 为了防止问题反复出现,对

11、错误修复和解决方法代码总是使用注释,尤其是在团队环境中。 对由循环和逻辑分支组成的代码使用注释,特别是循环边界条件的说明。 2、 文件注释commFile导入预定义好的commFile.snippet(参见附录)。文件注释应该放在using段之后类之前输入commFile,按TAB键/* * Copyright (C) 宝桥科技版权所有 * * 创建标识:owne20090101 * * 文件功能描述:对此文件实现功能的描述 * * 修改标识:修改人日期 * 修改描述: * */3、 类注释在类的上方输入/,使用XML格式的文档说明。例如 / / 根据进程名来判断当前程序运行的个数 / pub

12、lic static class AppInstance 4、 方法注释在方法的上方输入/,使用XML格式的文档说明。例如: / / 读取INI文件中的值 / / INI文件中的段 / INI文件中的键值 / 返回字符串值,如果没有此值返回空字符串 / / string s=INIClass.INIReadValue(DataBase,Server) / public string INIReadValue(string section, string key) 方法中的每一个参数及返回值则必须写清楚用途,尤其是public的方法。比较难以使用或难于理解的方法,需要使用标签来写下一个简单的使用

13、范例。七、 控件命名规则命名方法:控件名简写+英文描述,英文描述首字母大写Panel,Label等程序不操作的控件可以不命名,使用缺省名称。下面是部分常用控件的缩写:控件名简写FormfrmButtonbtnCheckBoxchkTextBoxtxtLabellblListBoxlstListViewlstvComboBoxcmbDateTimePickerdtpCalendercldMonthCalendarmcldPictureBoxpicImageimgRadioButtonrdoTreeViewtvNumericUpDownupdnPanelpnlMenuStripmenuContex

14、tMenuStripcmenuDataSetdsDataGridViewdgvImageListimglstToolStriptsToolStripButtontsb八、 命名空间(NameSpace)命名规范及项目组织形式1、九、 界面设计规范1、 常用按钮/快捷键命名按钮中文名按钮名快捷键增加(A)btnAddA修改(E)btnEditE删除(D)btnDelD保存(S)btnSaveS取消(C)btnCancelC确定(O)btnOkO应用(Y)btnApplyY退出(X)btnExitX关闭(C)btnCloseC一十、 数据库命名规则(暂定)所有数据库、表、字段、视图、存储过程等的标

15、识命名,除了前缀外,全部遵守Pascal命名规则,而所有的前缀则全部小写。禁止使用中文命名1、 数据库(Database)的定义数据库名称 = 数据库内容标识2、 表(Table)的定义命名应尽量反映存储的数据内容,并且尽可能不使用复数。例如使用Product,而不是Products。如果表名与SQL关键字冲突,考虑加上Tbl后缀。例如:UserTbl,而不是User表名称 = 表名前缀 + 表内容标识如ClientInfo相关联的一系的表以ci作为前缀,即有表名:ciHistory,ciContact,ciBusiness3、 列/字段(Field)的定义列名称命名采用英文单词或缩写,英文单

16、词只来自于具体业务定义,尽量表达清楚含义。例如:AddressIDPostalCode尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。例如:宁波 Ningbo经营方式 JingYFS主键一般可以命名为+ID,如Product表的主键命名名ProductID。使用单数名称,而不是复数名称4、 视图(View)的命名视图的名称 = v + 视图内容标识如 :vUserTbl5、 触发器名触发类型InsertDeleteUpdate触发标识idu触发名= tr + 触发标识 + 相应的表名如:triClient,

17、trdClient。6、 变量名Pascal命名方式,如EmployeeName。7、 其它命名规则(暂定)内容前缀示例存储过程 Store ProcedureprprDeleteTerminatedReps用户函数FunctionfnfnGetPY其它如主键、索引等,暂不作要求8、 SQL语句的编写规范(简)数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下:关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、

18、 END . 比较一下:SELECT ID,UserName FROM UserTbl WHERE ID=5 和 select ID,UserName from UserTbl where ID=5适当的缩进准确而精炼的注释9、 常用字段命名这里的常用字段是指在建表时频繁使用的表名或列名,下表对常用字段进行建议性定义,列名称数据类型说明CreatedDatedatetime纪录创建日期,一般使用GETDATE()自动生成ModifiedDatedatetime纪录最后修改日期,首次使用GETDATE()DeletedDatedatetime记录删除(标记删除)日期StartDatedateti

19、me开始日期EndDatedatetime结束日期StartTimedatetime开始时间EndTimedatetime结束时间IDint使用ID而不是Id或id。一般为自增长主键列Codestring字符串类型的代码,如PostCode,ProductCodeRowGuiduniqueidentifier唯一标识行的ROWGUIDCOL号,用于支持合并复制ParentIDint父IDStatusint状态一十一、 附录1、 commFile.snippetCodeSnippets xmlns= Expansion 文件注释 commFile 关于本文件的注释说明 bqkj yux 2009

20、0129 owner 创建人 owne20090101 fileComment 文件功能描述 对此文件实现功能的描述 2、 DOTNET关键字列表AddHandlerAddressOfAliasAndAnsiAsAssemblyAutoBaseBooleanByRefByteByValCallCaseCatchCBoolCByteCcharCDateCDecCDblCharCintClassCLngCObjConstCshortCSngCStrCTypeDateDecimalDeclareDefaultDelegateDimDoDoubleEachElseElseIfEndEnumEraseE

21、rrorEventExitExternalSourceFalseFinalizeFinally FloatForFriendFunctionGetGetTypeGotoHandlesIfImplementsImportsInInheritsIntegerInterfaceIsLetLibLikeLongLoopMeModModuleMustInheritMustOverrideMyBaseMyClassNamespaceNewNextNotNothingNotInheritableNotOverridableObjectOnOptionOptionalOrOverloadsOverridableOverridesParamArrayPreservePrivatePropertyProtectedPublicRaiseEventReadOnlyReDimRegionREMRemoveHandlerResumeReturnSelectSetShadowsSharedShortSingleStaticStepStopStringStructureSubSyncLockThenThrowToTrueTryTypeOfUnicodeUntilvolatileWhenWhileWithWithEventsWriteOnlyXorEvalextendsinstanceofpackagevar

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1