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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13359692.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。

注意事项

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

代码规范讲稿.ppt

1、单击以编辑,母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,广州赛意信息科技有限公司,SIE-,设计开发规范沟通,2011-4-20,代码规范重要性,JAVA,设计开发规范,FLEX,设计开发规范,EOS,设计开发规范,数据库设计开发规范,代码规范重要性,促进团队合作(可读性高)。,减少问题的出现。,降低维护成本(可维护)。,利于代码审查(可审查)。,利于自身的成长。,代码规范重要性,JAVA,设计开发规范,FLEX,设计开发规范,EOS,设计开发规范,数据库设计开发规范,命名规范,文件规范,语句,方法,面向对象高级特性,注释,命名规范,名称,所有的名称必须用英文

2、书写,不准使用汉语拼音,说明:英语是国际化语言,包名,必须小写,包名示意如下(加粗绿色字体表示必须有,不能省略):,com.sie,.rcf.xml,/,其中,com,表示公司,,sie,表示赛意,,rcf,表示富客户端框架,,xml,表示解析,xml,相关的,API,,翻译成中文表示:赛意公司,.,富客户端框架,.XML,解析相关的,API,说明:包名相当于类的命名空间,类名,名词,不同单词之间不可以用任何其他符号进行分隔,每个单词的第一个字母必须大写,举例:,Line,LineData,说明:,Java,开发的共同约定和,Sun,核心包的类型命名规范,抽象类,抽象类命名应当遵守类名的要求,

3、同时应当在类名前面大写字母,Abstract,,以明确表示是抽象类。,举例:,AbstractLine,说明:从名字上就看出是抽象类,更加易读,命名规范,接口,接口名称应当遵守类名的要求。应当在接口名前面加上大写字母,I,,以明确表示是接口。,举例:,ILine ILineData,说明:明确定义是接口,更加易读一点。,方法名,方法(构造方法除外)名应当用“动词,+,名词”、大小写混排的方式命名,起始必须字符小写,方法名称中对象应当是隐含的。在适当条件下,可以没有名词。,对于属性的存取方法应用,getXXX,(),和,setXXX,(),,对于返回,boolean,类型的方法以,isXXX,(

4、),或,hasXXX,(),来命名。,举例:,boolean,isSigned,();,void drawLine();,line.getLength,();/Should Not:,line.getLineLength,();,Thread.run,();/Should Not:,runThread,();,说明:,Java,开发的共同约定和,Sun,核心包的方法命名规范。,方法参数,和变量的命名规范一致,且应使用有意义的参数命名,如果可以的话,使用和要赋值的属性一样的命名。,如:,setName(String,name),this.name,=name;,命名规范,变量,变量必须用大小写混

5、排的方式命名,起始字符必须小写。成员变量可以用下划线开始,举例:,Float,fWidth,;,FilePrefix,filePrefix,;,说明:关于变量命名没有一个可以接受的共同标准,变量的命名遵循如下的原则:,i.,标识符应当直观且可以拼读,可望文知意,不必进行“解码”,ii.,标识符的长度应当符合“,min-length&max-information”,原则,iii.,命名规则尽量与所采用的操作系统或开发工具的风格保持一致,iv.,程序中不要出现仅靠大小写区分的相似的标识符,v.,程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发生语法错误,但会使人误解

6、vi.,应当避免名字中出现数字编号,如,value1,value2,。,常量名,应该全部大写,单词间用下划线隔开。,static final,是必须的。,举例:,public static final int MIN_WIDTH=4;,说明:这是,sun java,的编码规范。对于一些已确定的信息,要求做成常量。除了计算器值的数字常量外,不应当在代码中出现,如,orderStatus=,制单,命名规范,数组,以复数形式进行命名,,数组的命名应该总是用下面的形式来命名:,String names;,而不是,String name;,说明:,Java,开发的共同约定和,Sun,核心包的方法命名规

7、范。,JFC,(,Java Swing,)变量,变量应当以变量类型作为后缀。,举例:,widthScale,nameJTextField,leftScrollbar,mainJPanel,fileToggle,minLabel,说明:通过变量名可以得知变量控件类型,从而增强程序的可读性,命名规范,一般命名注意事项,a,、循环变量,方法内部循环变量应当使用,i,j,k,(数字),,c,,,d,(字符),说明:这是一种习惯、简便用法,内部循环变量的作用域有限,比较容易区分。,b,、命名缩写,说明:不建议使用缩写,非通用的缩写会影响程序可读性,对于下面比较通用的词语推荐使用缩写:,Hypertext

8、MarkupLanguage,:,html,CentralProcessingUnit,:,cpu,c,、否定布尔变量,不可以出现否定布尔变量。,举例:,boolean isError;/NOT:isNotError,boolean isFound;/NOT:isNotFound,说明:在使用!操作符时,出现双重否定,影响了程序的可读性,命名规范,文件规范,语句,方法,面向对象高级特性,注释,文件规范,行长度,:列数不可以超过,80,(,Eclipse,和,JBuilder,默认的是,80,)。,缩进,:,4,个字符,断句,1,、对于操作符(如,=,、,、,、,=,、,!=,、,+,、,-,、

9、/,、,&,、,|,等)两边必须各保留一个空格,,!,操作符必须在右边保留一个空格。,2,、大括号,中的语句应该单独作为一行,.,语句应永远单独作为一行。,举例:,if(i 0)i+;/,错误:,和,在同一行,if(i 0),i+,;,3,、小括号,在任何时候左括号和后一个字符之间不应该出现空格。同样,右括号和前一个字符之间也不应该出现空格,.,。不要在语句中使用无意义的括号,.,。括号只应该为达到某种目的而出现在源代码中。,文件规范,断句,4,、分行,分行必须明显。,举例:,totalSum=a+b+c+,d+e);,function(param1,param2,param3);,se

10、tText(Long line split+,into two parts.);,for(tableNo=0;tableNo maxTable;,tableNo,+=tableStep),说明:当列数超过,80,行时应当分行显示,为了增强可读性一般在如下符号后进行换行:,逗号,操作符,后一行和前一行的表达式对齐,命名规范,文件规范,语句,方法,面向对象高级特性,注释,语句,Package,包的声明语句必须放在文件开始,每个文件必须属于特定的一个包,。,说明:前者是Java所强制规定的,后者有利于使用Java面向对象的技术。,Import,语句,import,语句应当不允许用,.*import,

11、一组,java,类,不能包含多余的,java,类。,说明:通过排序和分组可以比较容易分清楚该类基于那些包构建的。,Eclipse,使用,ctrl+shift+O,可以重新组织,import,。,类型转换,基本类型转换应当明确。,举例:,floatValue=(float)intValue;/NOT:floatValue=intValue;,说明:明确的进行类型转换增强程序的可读性。,变量,1,、变量类型应当和变量的含义保持一致。,举例:,String isPhase/,错误,boolean,isPhase,/,正确,说明:影响程序的可读性。,语句,变量,2,、局部变量的使用,变量应当在声明时进

12、行初始化;变量的作用域应当尽可能小。变量应当避免多次赋值。变量如果不使用,必须去除。,说明:对于前者由于,Java,编译时会检测是否进行了初始化,不会因变量未初始化造成错误,后者有利于程序的可读性。,3,、类成员变量声明,类成员变量应当是私有的。如果不是私有的,必须说明理由。,说明:将类成员变量公有化会违反面向对象的信息隐藏和封装规则。,循环,所有迭代循环建议使用,for,语句来做,循环控制变量之外的其他变量不可以出现在,for,初始语句中。,说明:有利于程序的可读性和可维护性。,条件,判断条件不可以包含执行语句;复杂判断条件必须避免。如果要做复杂判断,请用单独的方法来表示,说明:提高代码的可

13、读性。,常数,在程序中直接写数字,严重影响程序的可读性和可维护性。,命名规范,文件规范,语句,方法,面向对象高级特性,注释,方法,方法修饰符,方法修饰符应当按如下顺序书写:,static abstract synchronized final native,。,说明:,指,public,、,private,、,package,、,protected,。,参数命名,参数名应当完整,缩写应当遵循缩写规则。,举例:,void,setValue(int,w,int h);/Not Good Style,void,setValue(int,width,int height);/Good Style,说明

14、有利于程序的可读性。,参数顺序,参数顺序应当合理。,举例:对于,subString,函数。一般开始在前,结束在后。,void subString(int beginIndex,int endIndex);,说明:符合阅读和思考习惯。,参数个数,方法的参数个数必须小于等于,5,。无用的参数必须去掉。,说明:方法参数太多不利于调用和理解,容易出错。超过,5,个需要将参数封装起来。,方法,返回值,方法名字和返回值的类型不可以冲突,。,举例:,int getUserName();/Bad style,String getUserName();/Good style,说明:调用方法时容易产生歧义和错误

15、其他规则,1,、参数检查,方法必须对传进来的参数进行必要的检验。参数是否为,null,,由方法的调用者来进行保证。对于允许参数为,null,的情况,必须在方法的,JAVADOC,中进行说明。对于输入参数的范围有严格要求的话,必须在方法实现中进行检查。,说明:提高程序的健壮性。,2,、方法功能,方法的功能应当单一。,说明:方法功能过多不利于维护和编写,可能会产生很多副作用。,方法,其他规则,方法规模,方法的规模一般应当控制在,50,行以内(不能超过一屏)。,说明:便于方法的编写、测试和维护。,异常处理,catch,语句中必须有异常处理代码,异常不可以被忽略。,说明:提高程序的健壮性,防止异常

16、被隐藏、增加调试的难度。,命名规范,文件规范,语句,方法,面向对象高级特性,注释,面向对象高级特性,变量隐藏,不可以出现。,说明:变量隐藏降低程序的可读性,同时这种情形可以避免。,方法隐藏,方法隐藏不可以出现。,命名规范,文件规范,语句,方法,面向对象高级特性,注释,注释,注释分为块注释、行注释,1,、块注释通常用于提供对文件,方法,数据结构和算法的描述。,2,、行注释通常用于注释信息比较少的地方。,对于项目应采用统一的注释模板。,变量注释,1,、静态变量和成员变量建议采用,/*/,中方式进行注释,可以提供浮动显示。,2,、局部变量,如果注释比较长,建议用行注释,如:,/,测试备注,需要记录相

17、关信息,String,testComments=test;,如果注释信息比较少,可以使用尾端注释,如:,String testComments=“test”;/,测试备注,注释,方法注释,/*,*,*,*param,*return,*exception,*author,*,/,说明:,JavaDoc,的方法注释方式,文件注释,/*,Copyright(C),1988-1999,广州赛意信息技术有限公司,FileName,:.java,Author:Version:Date:,Description:/,模块描述,Version:/,版本信息,Function List:/,主要函数及其功能,1

18、History:/,历史修改记录,David 96/10/12 1.0 build this,moudle,*/,代码规范重要性,JAVA,设计开发规范,FLEX,设计开发规范,EOS,设计开发规范,数据库设计开发规范,文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,文件标准,文件扩展名,MXML,代码:,.,mxml,ActionScript,代码:,.as,CSS,代码:,.,css,文件名,不能包含空格、标点和特殊符号,ActionScript,类和接口使用开头字母大写的驼峰式命名例:,ExampleCl

19、assName,接口总是以一个大写字母,I,开头例:,IExampleInterface,命名空间使用开头字母小写的驼峰式命名例:,myNamespace,MXML,总是使用开头字母大写的驼峰式命名,CSS,总是使用开头字母小写的驼峰式命名,编码,所有文件都必须使用,UTF-8,编码,文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,ActionScript 3.0,编码标准,文件结构,ActionScript 3.0,编码标准,样式,行与换行,如果一段描述不能放在一行中,依据下列规则将其拆分成多行:,1,、从逗号后换

20、行;,2,、在运算符之后换行;,3,、最好在较高级别代码处换行;,4,、换行后与上一行对齐;,5,、如果上一条规则不适用,加入两个缩进,声明,1,、每行只有一个声明。,2,、尽量对变量进行初始化,如果一些变量的初始值在方法调用中付给则不需要初始化。即使是默认值也要初始化。,3,、变量的声明放在代码块开始的位置,除非是在循环中。,4,、不要使用之前代码块中用过的变量名,即使是不同的作用域。,括号,1,、不要在方法名和括号之间插入空格,也不要在括号和参数间插空格;,2,、不要在对象名和类型间插空格;,3,、左大括号放在新的一行并与方法定义行对齐;,4,、右大括号独占一行并与跟成对的左大括号对齐;,

21、5,、方法间用一空行隔开;,ActionScript 3.0,编码标准,样式,语句,简单语句,简单声明每行只能有一个,并以分号作为结束。,复合语句(其中要使用大括号的,例如,if,while,switch,),必须遵守以下原则:,1,、声明内的代码要缩进一级;,2,、左大括号在声明下方独占一行,与声明对齐,右大括号同样占一行,与左大括号对齐;,3,、在所有声明中都使用大括号,即使声明只有一行;,返回(,return,),返回无需使用小括号,除非你想使代码更容易理解:,Break,规则,:,在,default,代码块中也要使用,break,。通常这是多余的,但他能增强代码的可读性;,如果一段代码

22、块中不需要,break,,在,break,的位置上写上注释;,如果声明中包含,return,则不需要使用,break,。,ActionScript 3.0,编码标准,注释,文档注释,文档注释是指在每个类、接口、变量、方法以及元标签等定义前面放置的一段注释,文档注释的作用是,让那些将要使用这些定义的人能更好的了解定义的作用,而无需去研究代码。,文档注释的语法和格式参考,ASDoc,(在,Flex SDK,中也可以找到),地址是:,(!visibleColumns|,visibleColumns.length,=0),如果不是太长,注释可以和代码放在同一行:,colNum,=0;/,补偿可见初始列

23、的偏移量,不要翻译代码:,colNum,=0;/,把列数设为,0,文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,MXML,编码标准,文件结构,MXML,编码标准,样式,在一组可视组件之间插入空白行可使代码更清晰,在同一个父组件的子组件之间(也包括他们的子组件)插入空白行,如果这个子组件拥有至少一个子组件,Nestling components,(雏鸟组件),子组件必须依据其父组件进行缩进排版。,属性,按下列顺序排序:,属性,如果有,id,的话,永远放在第一位;,记住,,width,,,height,和,styleN

24、ame,是属性而不是样式;,事件(,Events,),效果(,Effects,),样式(,Style,),规则,如果有,id,,永远放在第一位。,标签属性如果放在多行要进行缩进。,MXML,编码标准,注释,文档注释,执行注释,使用执行注释描述那些目的不太清晰的界面元素,或使用多行,文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,Flex,的,CSS,编码标准,最小化和清理,CSS,将,CSS,保存在一个外部文件中,并将它引入主应用程序,MXML,文件。尽可能避免将样式嵌入,MXML,代码中。,将类似的样式定义分组,通

25、过将应用程序的,CSS,文件中类似的样式归入同组,对它们进行组织。例如,将所有与文本相关的样式或用于视图的样式归入同组。,将,CSS,声明限制为每行一个,将,CSS,限制为每行一个样式定义。这可以提高,CSS,的可读性。,文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,命名规范,一般规范,缩写,应尽量避免使用缩写,除非是那些缩写形式更常用于它的全称的缩写(例如,URL,HTML,等)。工程名可以是用缩写,如果他就是叫那个名字。,关键字,不要使用,FlexSDK,中预留的关键字命名(像,mx,包中的,Applicati

26、on,、,DataGrid,等),也不要使用,FlashPlayer,中预留的关键字(像,Flash,包中的,IOError,、,Bitmap,等),语言,编码本身必须使用英语,除了涉及到商业领域的动词和名词(特殊专业领域的软件是为了解决问题,也就是说,现实世界和系统是相关联的),包,包的命名必须使用,lowerCamelCase,(驼峰式命名),第一个单词的开头字母小写,其他单词的开头字母大写包名的第一部分使用顶级域(,com,org,mil,edu,net,或,gov,)或者使用两个单词,国家标识加顶级域,参考文档,ISO3166,(,ar.edu,cn.org,等),命名规范,类,类名推

27、荐使用名词,也可以使用形容词。总是使用,UpperCamelCase,(开头字母大写的驼峰式命名)形式,接口,接口的命名规则和类的是一样的,只是开头加上一个大写字母,I,方法,方法必须使用动词开头,并使用,lowerCamelCase,(开头字母小写的驼峰式命名)形式,如果方法被一个事件调用,结尾加上,Handler,变量,变量使用,lowerCamelCase,形式命名,并且使用有意义的名称,如果变量使用,getter,和,setter,方法读,/,写值,开头应加上下划线(,_,),Boolean,型变量应以,can,、,is,和,has,开头,;,常量,常量全部使用大写字母,单词间用下划线

28、分割(,_,),文件标准,ActionScript 3.0,编码标准,MXML,编码标准,Flex,的,CSS,编码标准,命名规范,一般习惯,一般习惯,将需要重复调用的值在使用指派给一个变量,这对提高性能相当有用(在简单的数组中不需要),尽量使用松耦合的组件,组件之间的关连越少,其重复利用的可能越大;,在,Boolean,判断中,将速度快的放前面。,下表中列出了,ActionScript 3,中的预留关键字:,预留关键字,还有些语法关键字,在某些语境下有特殊含义,因此也尽量避免使用:,还有些为未来版本预留的关键字也应尽量避免使用:,代码规范重要性,JAVA,设计开发规范,FLEX,设计开发规范

29、EOS,设计开发规范,数据库设计开发规范,项目规范和要求,构件命名规范和要求,构件开发规范和要求,项目规范,统一字体编码,(UTF-8),项目规范,项目结构,统一数据集,统一工具集,提供公共的方法,库存模块相关逻辑,项目规范,项目结构,com.sie.crm.inv.pr,.,功能名称,如,:com.sie.crm.inv.pr.account,jsp/,功能名称,如,:jsp/account,.biz,如,:,com.sie.crm.inv.biz,功能名称,如,:account,操作功能名称,如,:add,以,dataset,结尾,模块名称,以,namingsql,结尾,以,bizlet

30、结尾,以,service,结尾,以,wf,结尾,项目规范和要求,构件命名规范和要求,构件开发规范和要求,构件命名规范和要求,EOS,应用项目:在建立,EOS,应用项目时,要求输入项目的描述,便于生成更加详细的项目文档,也便于后期维护,。,构件包:建立构件包时(或者通过构件包的属性窗口),要求输入构件包的中文名称以及详细的构件包描述,如该构件包主要实现了哪些功能等,便于生成更加详细的项目文档,也便于后期维护,。,页面构件:基础包名以,pr,结尾。对于各个功能点建立不同的包名。,页面资源:根据前台界面设定如,jsp/inv/account,,其中,jsp,为页面类型,,inv,为模块名称,,ac

31、count,为功能名称。,逻辑构件:包定义以,biz,结尾,一个构建包下建一个逻辑构建包。各个功能点需要建立各自的逻辑构件如,account,,操作功能需要建立在各个逻辑构件下。,数据模型:以,dataset,结尾,如,com.sie.crm.inv.dataset,,对于独立模块可以这样建立,否则需要将数据模型建立在统一的构建包下,以模块名称进行区分。,命名,sql,:以,namingsql,结尾,如,com.sie.crm.inv.namingsql,,,inv,为模块名称,如果可以分开,建议不要分的太多。,运算逻辑:以,bizlet,结尾,如,com.sie.crm.inv.bizlet

32、建立的运算逻辑需要首字母大写,如,Account,,由多个单词构成时,每个单词首字母大写,,如,AccountExt,服务接口:,service,结尾,如,com.sie.crm.inv.service,.,流程以,wf,结尾,如,com.sie.crm.inv.wf,项目规范和要求,构件命名规范和要求,构件开发规范和要求,构件开发规范和要求,运算逻辑开发规范:,运算逻辑原则上建议不抛出异常,而是通过捕捉异常后设置返回值返回,异常信息可以通过日志接口记录到日志文件中。如果抛出异常,要求能在构件对应的文档中明示抛出哪些异常,建议不要抛出基类异常。,在运算逻辑中如果存在多处错误返回,应根据不同

33、错误返回不同返回值(如,-1,、,-2,、,-3,),这样有助于进行错误定位。,运算逻辑中有关调试、出错提示等,一律使用,EOS,平台发布的日志记录接口,TPLogger,.,log(Object,caller,int,level,String,strMsgKey,String,strMsg,LogContext,context),,详细用法参见构件参考手册,API,接口部分。,运算逻辑中需要进行,XML,的相关处理时,使用,EOS,平台发布的,XML,处理接口类,BNXMLUtil,,详细接口参见构件参考手册,API,接口部分。,运算逻辑参数项设置原则,原则一:一般将第一个参数设置为输出,即

34、运算逻辑执行中对数据进行处理后通过第一个参数项返回,原则二:对于重要性较低的参数项建议作为最后一个参数项,同时允许不设置时取最常用的值作为缺省值,系统异常:,SystemException,;,业务异常:,BusinessException,可以模块标识,构件开发规范和要求,运算逻辑开发规范:,运算逻辑参数项设置原则,原则三:不建议运算逻辑设置太多参数项(对于支持批处理的除外),如果参数项超过,5,个,建议充分利用,XML,的可扩展特性,通过,Entity,的节点方式处理,,逻辑构件开发规范,要求业务逻辑尽可能做到简洁功能独立,编写的业务逻辑要求以业务的语义表达每个处理环节,即更改业务逻辑中调

35、用的运算逻辑的显示名称,同时逻辑图形编排清晰,尽可能不出现交叉线,另外可以在业务逻辑中增加注释图元,注明业务逻辑的功能等,这样有利于别人的阅读和理解,也方便的日后系统的维护,注意业务逻辑中调用的运算逻辑的返回值或抛出异常的情况,针对不同返回或异常可以提供相应的处理,以保证应用的健壮性。,在做多表查询的处理时,如果能够通过建立查询实体实现,尽量建立查询实体来进行查询处理,这样有利于提高应用的可移植性和可维护性。,构件开发规范和要求,逻辑构件开发规范,一般情况下,业务处理的逻辑不建议通过运算逻辑实现,但在某种特定情况下,从平衡效率的角度,需要将业务处理逻辑通过运算逻辑实现,这需要依据经验根据实际情

36、况确定。,页面构件开发规范,编写的展现逻辑要求以业务的语义表达每个处理环节,同时逻辑图形编排清晰,尽可能不出现交叉线,另外可以在展现逻辑中增加注释图元,注明展现逻辑的功能等,这样有利于别人的阅读和理解,也方便的日后系统的维护,展现逻辑的图形应该简单明了,如果一个展现逻辑上面出现超过,10,个以上的图元,(,不包含开始和结束图元,),,则需要考虑该逻辑是否应该优化,如判断是否处理繁琐冗余,是否可以变为多个展现逻辑,是否调用的业务逻辑粒度太细等。,考虑业务逻辑调用的返回值,针对非正常的返回要有统一的出错处理(如定位到统一的错误页面等),代码规范重要性,JAVA,设计开发规范,FLEX,设计开发规范

37、EOS,设计开发规范,数据库设计开发规范,命名规范,设计规范,SQL,开发规范,命名规范,对象命名规范,表:“,T_”+,模块缩写,+“_”+,描述,模块缩写,模块缩写应定义为,2,到,3,个字符长度。,描述根据实际内容以英文表示,便于用户理解。表的最后字符通常以复数形式表示。,表名的长度一般限制在,25,个字符。,序列:“,S_”+,模块缩写,+“_”+,描述,其描述应和对应表的描述相同。,视图:“,V_”+,模块缩写,+“_”+,描述,其描述应和对应表的描述相同。,索引(主键)“,I_”+,模块缩写,+“_”+,描述,+“_PK”,,其描述应和对应表的描述相同。,索引(唯一)“,I_”+

38、模块缩写,+“_”+,描述,+“_U”+,序号,2,位,其描述应和对应表的描述相同,序号从,01,开始编号。,索引(非唯一)“,I_”+,模块缩写,+“_”+,描述,+“_N”+,序号,2,位,其描述应和对应表的描述相同,序号从,01,开始编号。,命名规范,对象命名规范,表空间(数据):系统缩写,+“_TAB”,。,表空间(索引):系统缩写,+“_IDX”,。,表空间(临时):系统缩写,+“_TMP”,。,数据库连接:,DBL+,数据库别名。,触发器(,Before Insert,):“,BI_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,触发器(,Before Update,

39、BU_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,触发器(,Before Delete,):“,BD_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,触发器(,After Insert,):“,AI_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,触发器(,After,Update,):“,AU_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,触发器(,After,Delete,):“,AD_”+,模块缩写,+“_”+,描述,描述应与对应表描述相同。,命名规范,对象命名规范,包:,“PKG_”,模块缩写,+“_”+,描述。,过程:独立

40、过程,“P_”+,模块缩写,+“_”+,描述;在包中:“,P_”+,描述。,函数:独立函数“,F_”+,模块缩写,+“_”+,描述;在包中:“,F_”+,描述。,游标:“,CUR_,”,+,描述。,参数:“,P_”+,描述。,局域变量:“,L_”+,描述。,文件命名规范,建表,SQL,:模块缩写,+“_TAB”,。,建序列,SQL,:模块缩写,+“_SEQ”,。,建视图,SQL,:模块缩写,+“_VIEW”,。,建包头,SQL,:模块缩写,+“_PKGH”,。,建包体,SQL,:模块缩写,+“_PKGB”,。,建触发器,SQL,:模块缩写,+“_TRG”,。,初始化,SQL,:模块缩写,+“_

41、INIT”,。,命名规范,列命名规范,数据表列名应能表示该列的含义,对于常用的列名,命名规则如下:,列名,命名规范,说明,主键,描述,+“_ID”,NUMBER,数量,描述,+“_QTY”,NUMBER,编码,描述,+“_CODE”,VARCHAR2(50),名称,描述,+“_NAME”,VARCHAR2(200),描述,描述,+“_DESC”,VARCHAR2(800),标记,描述,+“_FLAG”,VARCHAR2(1),应为非空值,用,Y/N,分别表示是,/,否,单据编号,描述,+“ORDER_NO”,VARCHAR2(50),生效日期,VALID_DATE,DATE,失效日期,INVA

42、LID_DATE,DATE,命名规范,列命名规范,列名,命名规范,说明,终止日期,END_DATE,DATE,关闭日期,CLOSED_DATE,DATE,创建人员,CREATED_BY,NUMBER,创建日期,CREATION_BY,DATE,最后更新人,LAST_UPDATED_BY,NUMBER,最否更新日期,LAST_UPDATE_DATE,DATE,SQL,开发规范,程序块,BEGIN,,,EXCEPTION,,,END,子句应独立一行,统一缩进,内容应置于下一缩进中。,保留字和关键字:均使用大写。,过程函数:将过程函数名写在独立一行。若有参数时,将括号位于独立一行,每个参数均独立行,

43、并为每个参数注释。如:,参数的排序,最常用的参数放在左边;,输入参数放在左边;,通用参数放到特殊参数的左边,SQL,开发规范,语句,将,SELECT,、,FROM,、,WHER,、,GROUP BY,、,ORDER BY,等关键字置于一行,子查询的关键字使用下一层缩进。,在,IF/THEN/ELSE,语句中将最常发生的行为放到,THEN,子句中,其他放到,ELSE,子句中。,注意:如果判断的值为空值,则结果只会跑到,ELSE,子句中。,表别名的定义,需要定义有意义的别名,不能以,a,,,b,,,c,这样定义。,对数据查询(视图)时,尽量不要使用,*,,建议只列出使用的字段。,对于函数和存储过程都要有异常处理部分,在异常部分的最后都要设置,OTHERS,异常情态处理器,以提高程序的自检能力,。,使用标准的,SQL,语句。,謝謝大家,

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服