程序员开发手册

上传人:suij****uang 文档编号:171373213 上传时间:2022-11-26 格式:DOCX 页数:20 大小:28.71KB
收藏 版权申诉 举报 下载
程序员开发手册_第1页
第1页 / 共20页
程序员开发手册_第2页
第2页 / 共20页
程序员开发手册_第3页
第3页 / 共20页
资源描述:

《程序员开发手册》由会员分享,可在线阅读,更多相关《程序员开发手册(20页珍藏版)》请在装配图网上搜索。

1、安全生产信息化管理系统程序员开发手册1 概述1.1 目的1、方便代码的交流和维护。2、不影响编码的效率,不与大众习惯冲突。3、使代码更美观、阅读更方便。4、使代码的逻辑更清晰、更易于理解。1.2 范围本手册适用于开发部全体人员,作用于软件项目开发的代码编写阶段和后期 维护阶段。1.3 警示通过自动检查【Microsoft .StyleCop】或人工检查【部门主管或相关负责人】不符合 编码规范的,必须在限期【部门主管或相关负责人指定时间】内修正,逾期视为工作过失, 部门主管或相关负责人视具体情况做出相关处理。1.4 术语定义1、匈牙利命名法【禁用】 标识符的名字以一个或者多个小写字母开头作为前缀

2、;前缀之后的是首字母大 写的一个单 词或多个单词组合,该单词要指明变量的用途。例如:aUserld数组(Array)定义以小写字母a开头2、帕斯卡(pascal )命名法【推荐】 将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识 符使用Pascal大小写。例如:Userid3、骆驼(Camel)命名法【推荐】标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:userid2代码格式 2.1列宽1、为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在一般显示频率下不得超过一显示屏,代码列宽控制在 110字符左右。2、系统中部分代码可以不遵循此原则

3、。女口:VIWFormltemDeta 叩 dv =(VIWFormltemDeta 口卩)MHelper.SQLComma nd.query(sql,VIWFormltemDetail.TName, sqIParams);3、SQL语句拼接、字符串拼接、函数参数名过长、判断语句过长的代码要遵循以上原则。2.2换行1、当表达式超出或即将超出规定的列宽,一行被分为几行时,通过将串联运算符放在 每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。Stri ng querySql =“SELECTProjectId ”+ “ ,ProjectTitle ”+ “FROM Project ”2

4、、每一行上放置的语句避免超过一条。3、当表达式超出或即将超出规定的列宽,遵循以下规则进行换行(1) 在逗号前换行。(2) 在操作符前换行。(3)规则1优先于规则2。例女:StringBuilder querySql = new StringBuilder();querySql.Appe nd(SELECT a.ProjectId AS PK );querySql.Appe nd(,a.ProjectTitle);querySql.Appe nd(,a.ProjectDisplayCode); querySql.Appe nd(,a.lsb nCode AS ISBNCode);querySql

5、.Appe nd(FROM Project a ); 当以上规则会导致代码混乱的时候自己采取更灵活的换行规则。2.3缩进缩进应该是每行一个Tab(4个空格),不要在代码中使用Tab字符。Visual Studio .Net设置:工具-选项-文本编辑器-c #- 制表符-插入空 格2.4空行空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。在以下情况下使用两个空行1、接口和类的定义之间。2、枚举和类的定义之间。3、类与类的定义之间。在以下情况下使用一个空行1、方法与方法、属性与属性之间。2、方法中变量声明与语句之间。3、方法与方法之间。4、方法中不同的逻辑块之间。5、方法中的返回语句与

6、其他的语句之间。6属性与方法、属性与字段、方法与字段之间。7、注释与它注释的语句间不空行,但与其他的语句间空一行。2.5空格在以下情况中要使用到空格1、关键字和左括符 “(”应该用空格隔开。如while (true)注意;在方法名和左括符“(”之间不要使用空格,这样有助于辨认代码中的方法调用与关键字。多个参数用逗号隔开,每个逗号后都应加一个空格。2、除了 .之外,所有的二元操作符都应用空格与它们的操作数隔开。一元操作符、+及-与操作数间不需要空格。如a+=c+d;a = (a + b) / (c * d);while(d+ = s+)n+;PrintSize( “size is “ +size

7、+ “ n”);3、语句中的表达式之间用空格隔开。女口for(expr1; expr2; expr3)4、以下写法是不允许的:int j=i+k;2.6括号-()1、左括号“(”不要紧靠关键字,中间用一个空格隔开2、左括号“(”与方法名之间不要添加任何空格。3、没有必要的话不要在返回语句中使用()。如if (con diti on)Array.Remove(1)return 12.7花括号-1、左花括号 “ ”放于关键字或方法名的下一行并与之对齐。如if (con diti on)public int Add(i nt x, int y)2、左花括号“ ”要与相应的右花括号“ ”对齐。3、通常

8、情况下左花括号“ ”单独成行,不与任何语句并列一行。4、if、while、do语句后一定要使用,即使号中为空或只有一条语句。如if(somevalue =1)somevalue = 2;右花括号“”后建议加一个注释以便于方便的找到与之相应的。如while(1)if (valid) / if validelse / n ot valid / end forever以下情况是不允许的:if(x=0) Resp on se.Write(”用户编号必须输入! ); 或者if(x=0) Respo nse Write(用户编号必须输入!);2.8分解将大的复杂代码节分为较小的、易于理解的模块。2.9 S

9、QL1、编写SQL语句时,对于关键字或保留字使用全部大写,对于数据库元素(如表、列和视图等命名)使用帕斯卡命名法命名。如:SELECT UserId AS EmId FROM UserSELECT UserId AS EmId FROM User AS emSELECT UserId AS EmId FROM User AS EM等允许使用;2、将每个主要的SQL子句放在不同的行上,这样更容易阅读和编辑语句。例如:SELECT FirstName, LastNameFROM CustomersWHERE State = WA;3、不要从数据表中调用页面或程序不需要的字段;2.10弓|用1、对于

10、程序中字段名称的引用要通过对应的属性调用实现。如:Int userid = (int)DvO “Userid ” ;是不允许的;Int userid = (in t)Dv0User.x.Userld.Colum nN ame; 是允许的;stri ng bookPriceName = Book.x.BookPrice.Colu mnN ame;decimal? bookPrice = nu II;if(drbookPriceName != DBNull.Value)bookPrice = (decimal)drbookPriceName;是允许的;3程序注释3.1注释概述1、修改代码时,总是使

11、代码周围的注释保持最新。2、在每个例程的开始,提供标准的注释样本以指示例程的用途、假设和限制很有帮助。注释样本应该是解释它为什么存在和可以做什么的简短介绍。3、避免在代码行的末尾添加注释;行尾注释使代码更难阅读。不过在批注变量声明时,行尾注释是合适的;在这种情况下,将所有行尾注释在公共制表位处对齐。4、避免杂乱的注释,如一整行星号。而是应该使用空白将注释同代码分开。5、避免在块注释的周围加上印刷框。这样看起来可能很漂亮,但是难于维护。6、在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。7、如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。尽一切可

12、能不注释难以理解的代码,而应该重写它。尽管一般不应该为了使代码更简单以便于人们使 用而牺牲性能,但必须保持性能和可维护性之间的平衡。8、在编写注释时使用完整的句子。注释应该阐明代码,而不应该增加多义性。9、在编写代码时就注释,因为以后很可能没有时间这样做。另外,如果有机会复查已编写的代码,在今天看来很明显的东西六周以后或许就不明显了。10、避免多余的或不适当的注释,如幽默的不主要的备注。11、使用注释来解释代码的意图。它们不应作为代码的联机翻译。12、注释代码中不十分明显的任何内容。13、为了防止问题反复出现,对错误修复和解决方法代码总是使用注释,尤其是在团队环 境中。14、对由循环和逻辑分支

13、组成的代码使用注释。这些是帮助源代码读者的主要方面。15、在整个应用程序中,使用具有一致的标点和结构的统一样式来构造注释。16、用空白将注释同注释分隔符分开。在没有颜色提示的情况下查看注释时,这样做会使 注释很明显且容易被找到。17、在所有的代码修改处加上修改内容的注释(此项只供参考)。18、对于常量、变量、表达式等使用单行注释时建议放到声明的后面;19、对于常量、变量、表达式等建议使用单行注释,单行注释格式如:private int nu mber; / 注释语句或:/注释语句private int nu mber;20、为了使层次清晰,在闭合的右花括号后注释该闭合所对应的起点(此项只 供参

14、考)。n amespace Lan gchao.Procume nt.Web / n amespace Lan gchao.Procume nt.Web3.2文档型注释该类注释采用.Net已定义好的Xml标签来标记,在声明接口、类、方法、属性、 字段都应该使用该类注释,以便代码完成后直接生成代码文档,让别人更好的了解代码的实 现和接口。如/MyMethod is a method in the MyClass class. /vparaHereshowyoucouldmakeasecondparagraphinadescripti on./for in formati on about out

15、put stateme nts./vseealso cref=MyClass.Mai n/public static void MyMethod(int Int1)又如:类属性注释规范在类的属性必须以以下格式编写属性注释:/ /属性说明/ 方法注释规范在类的方法声明前必须以以下格式编写注释/ /说明: / / vparam name=/对方法返回值的说明,该说明必须明确说明返回的值代表什么含义/ /returns3.3类c注释(此项只供参考)该类注释用于1、不再使用的代码。2、临时测试屏蔽某些代码。用法/*修改标识修改原因. (the source code )*/3.4单行注释该类注释用于1

16、、方法内的代码注释。如变量的声明、代码或代码段的解释。注释示例:/ summary/注释语句/ /summaryprivate int nu mber;或/ 注释语句private int nu mber;private int nu mber;/ 注释语句2、方法内变量的声明或花括号后的注释, 注释示例: if ( 1 = 1) / always truestateme nt; / always true3.5文件注释 文件功能描述只需简述,具体详情在类的注释中描述 3.6注释标签标签用法作用C错误!超链接引用无效。为您提供了一种将说明中的文本 标记为代码的方法。使用codetext布望将其

17、指示为代码的文 本。将多行指示为代码para错误!超链接引用无 效。/paracontent段洛文本。用于诸如remarks或returns等标记内,使您得以将结构添加到文本中。vparamvparam name二错误!超链接 引 用无效。错误!超链接引用无 效。/paramname为方法参数名。将此名称 用单引号括起来()。应当用于方法声明的注释中,以描述方 法的一个参数。vparamrefvparamref name二错误!超 链接引用无效。/n ame要引用的参数名。将此名称用双引号括起来()paramref标记为您提供了一种 指示 词为参数的方法。可以处理XML文件,从而用某种独特的方

18、法格式 化该参数。see引号括起来(丿。标记可以指定使 用方法或其他库成员的示例。一般情况 下,这将涉及到Vcode标记的使用。code代码示例的说明。Vcode错误!超链接引用无 效。V/codecon te nt为布望将其标记为代码的文本。记为您提供了一种将多行指示为代码 的方法。使用Vc指示应将说明中的 文本标记为代码summaryvsummary错误!超链接引用无 效。V/summary此处description 为对象的摘要。应当用于描述类型成员。使用Vremarks以提供有关类型本身 的信息。vexcepti onvexception错误!超链接引用无效。错误!超链接引用无vexc

19、epti on 标记使您可以指定 类能够引发的异常。效。member错误!超链接弓丨 用无效。v/exceptio n cref = member对可从当前编译环境中 获取的异常的引用。编译器检查 到给定异常存在后,将member 转换为输出XML中的规范化元素 名。必须将member括在双引号 ()中。descripti on 说明。in eludeinclude file=错误!超链 接引用无效。path错误!超 链接引用无效。错误!超链接 引用无效。=错误!超链接引用 无效。/file name包含文 档的文件名。该文件名可用路径 加以限定。将file name括在单 引号中()。Tag

20、path : file name 中指向 标 记名的标记路径。将此路径括在 单引号中()。name注释前边的 标记中的名称说明符;名称具有 一个 id。id位于注释之前的标记的id。将此 id括在双引号中()。in elude标记使您得以引用描 述源代码中类型和成员的另一文 件中 的注释。这是除了将文档注释直接置于 源代码文件中之外的另一种可选方法。 include标记使用XML XPath语法。 有关自定义include使用的方法, 请参阅XPath文档。listlist type二bulletnu mbertablelistheaderterm错误!超链接引用无效。/termvdescri

21、ption错误!超链接 弓 丨用无效。v/descripti on/listheaderitemterm定义的项,该项将在 text中定义。descripti on目符号歹U表或listheader块用于疋义表或疋义列 表中的标题行。定义表时,只需为标题 中的项提供一个项。列表中的每一项用item块指 疋。创 建疋义列表时,既需要指疋term也需 要指疋text。但是,对 于表、项目符 号列表或编号列表,只需为text提供 一个项。列表或表所拥有的item块数 可以根 据需要而疋。vpermissi onvpermission错误!超链接 引用 无效。错误!超链接引用无效。 member错误!

22、超链接引用无 效。v/permission cref = member 对可以通vpermissi on标记使您得以将成 员 的访问记入文档。System .Security .Permissio nSet 使 您得以指定对成员的访问。成员或字段的引用。编译器 检查 到给疋代码兀素存在后,将 member转换为输出XML中的规范 化元素名。必须将member括在 双引号()中。descripti on成员的访问的remarks说明Clarks错误!超链接引用无效。/remarksdescripti on成员的说明。remarks标记是可以指定有关保或其他类型的概述信息的位置。summary是可

23、以描述该类型的成员的位置。vretur nsreturns错误!超链接引用 无效。/returnsdescripti on返回值的说明。returns标记应当用于方法声 明的注释,以描述返回值。valuevalue错误!超链接引用无 效。/valueproperty-descripti on 属性的说明。value标记使您得以描述属性。 请注意,当在Visual StudioNET 开发环境中通过代码向导添加属性时,它将会为新属性添加summary标记。然后,应该手动 添加value标记以描述该属性 所表示的值。4申明 4.1每行声明数一行只建议作一个声明,并按字母顺序排列。如:4.2初始化i

24、nt!nvel; size;int x, y;/推荐推荐不推荐建议在变量声明时就对其做初始化。4.3位置变量建议置于块的开始处,不要总是在第一次使用它们的地方做声明。如 void MyMethod()int inti = 0; / begi nning of method blockif (con diti on)int int2 = 0; / begi nning of if block不过也有一个例外for (int i = 0; i maxLoops; i+)应避免不同层次间的变量重名,如int count;void MyMethod()if (con diti on)4.4类和接口的声

25、明1在方法名与其后的左括号间没有任何空格。2左花括号“ ”出现在声明的下行并与之对齐,单独成行。3方法间用一个空行隔开。4.5字段的声明不要使用是public或protected的实例字段。如果避免将字段直接公开给开发人员,可以更轻松地对类进行版本控制,原因是在维护二进制兼容性时字段不能被更 改为属性。考虑为字段提供get和set属性访问器,而不是使它们成为公共的。get和set 属性访问器中可执行代码的存在使得可以进行后续改进,如在使用属性或者得到属性更改通 知时根据需要创建对象。下面的代码示例阐释带有get和set属性访问器的私有实例字段的正确使用。示例:public class Con trol: Comp onentprivate int han dle;public int Han diegetretur n han die;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!