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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

RNOP产品组开发规范VSC#V10.docx

1、RNOP产品组开发规范VSC#V10RNOP产品组开发规范(VS2005 C#)2008-9-22目 录第1章 概述 51.1 前言 51.2 规范制定原则 51.3 术语定义 51.3.1 Pascal 大小写 51.3.2 Camel 大小写 51.4 文件命名组织 51.4.1 文件命名 51.4.2 文件使用注意 6第2章 代码外观 72.1 开发环境 72.2 代码在本机的存放目录 72.3 列宽 72.4 换行 72.5 缩进 72.6 空格、括号 - ()、 花括号 - 8第3章 申明 93.1 每行声明数 93.2 初始化 93.3 位置 93.4 类和接口的声明 113.5

2、字段的声明 11第4章 命名规范 124.1 命名概述 124.2 大小写规则 134.3 缩写 144.4 命名空间 144.5 类 144.6 接口 154.7 属性 (Attribute) 164.8 参数 164.9 方法 174.10 属性 (property) 174.11 常量 (const) 184.12 字段 18第5章 语句 205.1 每行一个语句 205.2 复合语句 205.3 if、 if-else、if else-if 语句 215.4 for、foreach 语句 225.5 while 语句 225.6 do - while 语句 225.7 switch -

3、 case 语句 235.8 try - catch 语句 235.9 SQL语句 24第6章 注释及异常处理 256.1 注释 256.2 异常处理 266.3 调试与编译 28第7章 数据类型、ADO.NET、控件命名规则 317.1 命名方法 317.2 数据类型命名规范 317.3 ADO.NET 命名规范 317.4 主要控件命名规范 327.4.1 Standard Control 327.4.2 Data Control 337.4.3 Validation Control 337.4.4 Navigation Control 347.4.5 Login Control 347.

4、4.6 WebParts Control 347.4.7 Developer Express 35第8章 注意事项 368.1 变量名 368.2 符号的使用 378.3 在DataTable中查询 398.4 经验总结 40第9章 代码管理 42第10章 公共组件 44第11章 版本控制 45第1章 概述1.1 前言为统一RNOP开发人员的编码规范,使程序具有良好的可读性,方便代码的交流和维护,特制定如下编码规定,RNOP全体开发人员需严格遵循本规范进行编码。1.2 规范制定原则 1 方便代码的交流和维护。 2 不影响编码的效率,不与大众习惯冲突。 3 使代码更美观、阅读更方便。 4 使代码

5、的逻辑更清晰、更易于理解。 5 避免重复实现(能使用公共组件尽量使用,如不满足需讨论)1.3 术语定义1.3.1 Pascal 大小写将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用Pascal 大小写。例如:BackColor1.3.2 Camel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如: backColor1.4 文件命名组织1.4.1 文件命名1 文件名遵从Pascal命名法,无特殊情况,扩展名小写。2 使用统一而又通用的文件扩展名: C# 类.cs1.4.2 文件使用注意1. 避免将多个类放在一个文件里面。 2. 一个文

6、件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件代码一般控制在300-400行,最好不要超过500行(不包括机器产生的代码)。第2章 代码外观2.1 开发环境在VS中,为了项目编码规范的一致,RNOP开发人员的VS开发环境需一致(可以把VS开发环境中的编码风格和代码规范设置信息导出为一个配置文件,默认的文件后缀名为.vssettings,其他项目成员则将此文件导入到自己的VS开发环境中即可)。2.2 代码在本机的存放目录为防止出现因程序代码在不同终端存放在不同目录下导致的编译问题,代码建议存放在本机的D盘相关目录下。具体目录要求如下:一期功能模块1.0版本:盘符:R

7、NOP_VSSRNOP1.0一期功能模块1.1版本:盘符:RNOP_VSSRNOP1.1公共/用户组件:VSS共享方式2.3 列宽代码列宽控制在110字符左右。2.4 换行当表达式超出或即将超出规定的列宽,遵循以下规则进行换行1、在逗号后换行。2、在操作符前换行。3、规则1优先于规则2。当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。 2.5 缩进 缩进应该是每行一个Tab(4个空格),不要在代码中使用Tab字符。Visual Studio.Net设置:工具-选项-文本编辑器-C#-制表符-插入空格2.6 空格、括号 - ()、 花括号 - 以VS2005默认值为标准。在完成代码后,将

8、最后出现的“”删除再输入,VS2005系统将自动调整。推荐使用CodeRushNET-3.0.8.7工具第3章 申明3.1 每行声明数一行只建议作一个声明,并按字母顺序排列。如int level; /推荐int size; /推荐int x, y; /不推荐3.2 初始化建议在变量声明时就对其做初始化。3.3 位置变量建议置于块的开始处,不要总是在第一次使用它们的地方做声明。如 3.4 类和接口的声明1 在方法名与其后的左括号间没有任何空格。2 左花括号 “” 出现在声明的下行并与之对齐,单独成行。3 方法间用一个空行隔开。 3.5 字段的声明不要使用是 public 或 protected

9、的实例字段。考虑为字段提供 get 和set 属性访问器,而不是使它们成为公共的。示例: 第4章 命名规范4.1 命名概述使名称足够长以便有一定的意义,并且足够短以避免冗长。唯一名称在编程上仅用于将各项区分开。表现力强的名称是为了帮助人们阅读:1、避免容易被主观解释的难懂的名称,如方法名 AnalyzeThis(),或者属性名 xxK8。这样的名称会导致多义性。2、在类属性的名称中包含类名是多余的,如 Book.BookTitle。而是应该使用 Book.Title。3、只要合适,在变量名的末尾或开头加计算限定符(Avg、Sum、Min、Max、Index)。4、在变量名中使用互补对,如 mi

10、n/max、begin/end 和 open/close。 5、布尔变量名应该包含 Is,这意味着 Yes/No 或 True/False 值,如 fileIsFound。6、在命名状态变量时,避免使用诸如 Flag 的术语。状态变量不同于布尔变量的地方是它可以具有两个以上的可能值。不是使用 documentFlag,而是使用更具描述性的名称,如 documentFormatType。 (此项只供参考)7、即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。 可能的情况下,尽量不要使用原义数字或原义字符串。8、不允许采用中

11、文命名9、不允许采用拼音缩写命名10、不允许采用数字编号区分命名4.2 大小写规则标识符中的所有字母都大写。仅对于由两个或者更少字母组成的标识符使用该约定。例如:System.IOSystem.Web.UI下表汇总了大写规则,并提供了不同类型的标识符的示例。标识符大小写示例类PascalAppDomain枚举类型PascalErrorLevel枚举值PascalFatalError事件PascalValueChange异常类PascalWebException 注意 总是以 Exception 后缀结尾。只读的静态字段PascalRedValue接口PascalIDisposable 注意 总

12、是以 I 前缀开始。方法PascalToString命名空间PascalSystem.Drawing属性PascalBackColor公共实例字段PascalRedValue 注意 很少使用。属性优于使用公共实例字段。受保护的实例字段Camel redValue 注意 很少使用。属性优于使用受保护的实例字段。私有的实例字段CamelredValue参数CameltypeName方法内的变量CamelbackColor4.3 缩写1 不要将缩写或缩略形式用作标识符名称的组成部分。例如,使用 GetWindow或GetWin,而不要使用 GetW。 2 不要使用计算机领域中未被普遍接受的缩写。 3

13、 在适当的时候,使用众所周知的缩写替换冗长的词组名称。例如,用 UI 作为 User Interface 缩写,用 OLAP 作为 On-line Analytical Processing 的缩写。 4.4 命名空间RNOP.所属架构层次名称.工程名称,如下所示。例如:namespace RNOP.UI.NeGroupMgr /UI的网元分组管理模块 命名空间的名称需与文件路径一致。4.5 类1、使用 Pascal 大小写。2、用名词或名词短语命名类。3、使用全称避免缩写,除非缩写已是一种公认的约定,如URL、HTML 4 、不要使用类型前缀,如在类名称上对类使用 C 前缀。例如,使用类名称

14、 FileStream,而不是 CFileStream。 5 、不要使用下划线字符“_”。 6 、有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore。在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因ApplicationException 是一种Exception。 4.6 接口1、使用 Pascal 大小写。 2、少用缩写。 3、给接口名

15、称加上字母 I 前缀,以指示该类型为接口 4、不要使用下划线字符“_”。5、用名词或名词短语,或者描述行为的形容词命名接口。例如,IComponent 使用描述性名词。ICustomAttributeProvider 使用名词短语。IPersistable 使用形容词。 6、当类是接口的标准执行时,定义这一对类/接口组合就要使用相似的名称。不同之处只是接口名前有一个I前缀。如:提示:窗体类命名也采用该原则,格式如:MainForm4.7 属性 (Attribute)应该总是将后缀 Attribute 添加到自定义属性类。以下是正确命名的属性类的示例。 4.8 参数1、使用描述性参数名称。参数名

16、称应当具有足够的描述性。 2、对参数名称使用 Camel 大小写。 3、使用描述参数的含义的名称,而不要使用描述参数的类型的名称。4、不要使用保留字相同的参数名称。 5、不要给参数名称加匈牙利语类型表示法的前缀。 Type GetType(string typeName)4.9 方法1 使用动词或动词短语命名方法,另外方法名需能看出它作什么。别使用会引起误解的名字(如果名字一目了然,可能无需用文档来解释方法的功能了,也给维护带来更好的效率)。 2一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。3使用 Pascal 大小写。 RemoveAll()GetCharArr

17、ay()Invoke()另外:一个方法的代码长度控制在25-30行内。避免方法中有超过5个参数的情况。使用结构来传递多个参数。使用重载减少对参数的判读操作。4.10 属性 (property)1 使用名词或名词短语命名属性。 2 使用 Pascal 大小写。 3 不要使用匈牙利语表示法。 4 对于希望通过名称反映类型属性的情况,考虑用与属性的基础类型相同的名称创建属性。例如,如果声明名为 Color 的属性,则属性的类型同样应该是 Color。 4.11 常量 (const)所有单词大写,多个单词之间用 _ 隔开。 如public const string PAGE_TITLE = Welco

18、me;4.12 字段字段是指包含在类或结构中的对象或值,字段使类和结构可以封装数据。1、拼写出字段名称中使用的所有单词。仅在开发人员一般都能理解时使用缩写。字段名称不要使用大写字母。 class SampleClass string url; string destinationUrl;public class CalendarDate public int month; public int day; public int year;2、不要对字段名使用匈牙利语表示法。3、不要对字段名或静态字段名应用前缀。第5章 语句5.1 每行一个语句每行最多包含一个语句。如a+; /推荐b-; /推荐a

19、+; b-; /不推荐5.2 复合语句复合语句是指包含父语句子语句;子语句;的语句1 子语句要缩进。2 即使只有一条子语句也不要省略花括号“ ”。 如while (d + = s+)n+;5.3 if、 if-else、if else-if 语句 5.4 for、foreach 语句 5.5 while 语句 while 语句使用格式 while (condition) statements; 5.6 do - while 语句 do - while 语句使用格式 do statements; while (condition); 5.7 switch - case 语句 1、语句switch

20、中的每个case各占一行。2、语句switch中的case按字母顺序排列。3、为所有switch语句提供default分支。 4、所有的非空 case 语句必须用 break; 语句结束。5.8 try - catch 语句 5.9 SQL语句在书写sql语句的时候,为了易于辨认,可能会将某些表名或者字段名首字母大写,如:IsVisible,但是某些数据库(例如Sybase)可能对表名或字段名大小写敏感。对于IsVisible字段,在oracle数据库中可以正确识别,但是在sybase数据库中就可能报错。因此对于sql语句,必须采用小写。第6章 注释及异常处理6.1 注释无需每行代码,每个声明

21、的变量都做注释。在需要的地方注释(如:ifelse逻辑判断时)。可读性强的代码需要很少的注释,如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释。行数不多的注释会使代码看起来优雅。但如果代码不清晰,可读性差,那就糟糕。如果因为某种原因使用了复杂艰涩的原理,为程序配备良好的文档和重分的注释。对一个数值变量采用不是0,-1等的数值初始化,给出选择该值的理由。简言之,要写清晰,可读的代码以致无须什么注释就能理解。对注释做拼写检查,保证语法和标点符号的正确使用。类需编写头信息(建议采用VS2005的模板RNOP Team Project Class来实现),信息格式如下: /* F

22、ileName: Test1* Description: 测试* Creater: xuyongSAVAGE* Create Time: 09/24/2008 17:02:10* Update History: 增加了一个TEST方法*/using System;using System.Collections.Generic;using System.Text;namespace RNOP.ParaMaintain / / Test1 的摘要说明 / public class Test1 public Test1() / / TODO: 在此处添加构造函数逻辑 / 方法注释格式要求: / /

23、 记录操作日志 / / 操作类型 / 操作表名 / 是否为资源 / 操作描述 / 是否操作成功 public void WriteOptLog(string optType,string optTable,int isRes,string remark,int isSucc) 必须严格编写所有参数和返回值含义。6.2 异常处理不要“捕捉了异常却什么也不做”。如果隐藏了一个异常,你将永远不知道异常到底发生了没有。发生异常时,给出友好的消息给用户,但要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。只捕捉特定的异常,而不是一般的异常。好: void ReadFromFile ( s

24、tring fileName ) try / read from file. catch (FileIOException ex) / log error. / re-throw exception depending on your case. throw; 不好: void ReadFromFile ( string fileName ) try / read from file. catch (Exception ex) / Catching general exception is bad we will never know whether it / was a file error

25、 or some other error. / Here you are hiding an exception. / In this case no one will ever know that an exception happened. return ; 不必在所有方法中捕捉一般异常。不管它,让程序崩溃。这将帮助你在开发周期发现大多数的错误。你可以用应用程序级(线程级)错误处理器处理所有一般的异常。遇到“意外的一般性错误”时,此错误处理器应该捕捉异常,给用户提示消息,在应用程序关闭或用户选择“忽略并继续”之前记录错误信息。不必每个方法都用try-catch。当特定的异常可能发生时才使用

26、。比如,当你写文件时,处理异常FileIOException。别写太大的 try-catch 模块。如果需要,为每个执行的任务编写单独的 try-catch 模块。这将帮你找出哪一段代码产生异常,并给用户发出特定的错误消息如果应用程序需要,可以编写自己的异常类。自定义异常不应从基类SystemException派生,而要继承于IApplicationException。 RNOP代码中统一采用以下语句抛出异常:Metarnet.RNOP.Common.GlobalConst.ExceptionHandle.handleException(ex);6.3 调试与编译为规范化调试与编译,同时为了防

27、止多个工程分别使用不同的调试与编译目录导致相关数据文件版本不一致的问题,必须将工程编译与调试目录统一为以下地址:调试目录:盘符:RNOP_VSSRNOP1.0OUTDebug 盘符:RNOP_VSSRNOP1.1OUTDebug编译目录:盘符:RNOP_VSSRNOP1.0OUTRelease 盘符:RNOP_VSSRNOP1.1OUTRelease设置方法如下:打开VB.NET 2005工程文件,双击【My Projec t】,如图2所示:图2 打开工程属性在打开的页面左侧点击【编译】,然后点击【生成文件输出路径】后的【浏览】按钮,在弹出的选择输出路径对话框中选择:D:RNOP_VSSRNO

28、P1.0OUTRelease,如图3所示:图3 设置编译目录点击页面左侧的【调试】,然后点击【工作目录】后的【】按钮,在弹出的选择工作目录对话框中选择:D:RNOP _VSSRNOP1.0OUTDebug,如图4所示: 图4 设置调试目录设置完毕后保存工程即可。在发布时必须生成项目并发布编译路径下的文件,禁止发布调试路径下的文件。第7章 数据类型、ADO.NET、控件命名规则7.1 命名方法简写+英文描述,英文描述首字母大写,适应于变量命名。7.2 数据类型命名规范数据类型 数据类型简写 标准命名举例 Array arr arrShoppingList Boolean bln blnIsPostBack Byte byt bytPixelValue Char chr chrDelimiter DateTime dtm dtmStartDate Decimal

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

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