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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

开发规范rxc.docx

1、开发规范rxc1 平台使用向导1.1 命名规范1.1.1 单元编号 单元编号尽量精简 组编号:子系统英文简称+功能名英文简称 例如:cmisProInfo(或者简称cmisPI) 承包商项目信息 组下单元编号:子系统英文简称+功能名英文简称+_功能后缀(form,list,query)(英文单词,同时为java的包名)+1,2,3,4 后两项为可选项;如果单元是简单父单元,也就是说,这个父单元是用来组织其他子单元的,那么该父单元编号不需要增加功能后缀;如:cmisProInfo;如果有多个这样的简单父单元的话,那么需要增加a,b,c,d等序号区分,如cmisProInfo1, cmisProI

2、nfo2;否则,单元编号需要增加功能后缀,如cmisProInfo_list,cmisProInfo_query,如果组下有多个list或query或form时,则需要增加1,2,3,4等序号区分,如cmisProInfo_list1, cmisProInfo_list2。注:子系统承包商管理系统,对应的子系统编号和英文简称如下: 承包商管理系统:cmis 风险评估系统:rmis 事故调查子系统: amis1.1.2 提示消息 前台显示错误提醒,错误信息尽量详细,例如:输入不合法,开始日期 必须在结束日期之前,等 业务编号:msg+”.”+消息类型(e: ERROR;w: WARNING;i:

3、 INFO)+”.”+模块单元编号 例:msg.e.srv001001 平台编号:FU+六位编号 例:msg.fu000001 统一向共通组申请,由共通组提供编号,申请同键值申请流程(即提供预想消息代码),此类消息代码前缀为“msg” 消息内容包括:编号及正文(编号同去掉msg的键值代码,正文中编号为大写) 平台自己的提示需要加入编号。错误编号用括号”与中文分割。注:消息分为三类:ERROR, WARNING, INFO.ERROR:系统显示为红色。内容为系统提示错误信息。(例:数值、英字符、日期等输入检验,业务相关检验,DB异常,并发处理等)。WARNING:系统显示为黄色。内容为系统提示的

4、警告或提示信息。(例:对数据库进行增,删,改时的前台提示确认信息)。INFO:系统显示为绿色。内容为系统提示处理成功信息。(例:操作数据库更新成功, (XXX行)数据导出成功等信息)。1.1.3 Js创建 子系统名+业务名称+两位编号例如:srvPartsDetail01.js 通用JS中间+Cmn例如:srvCmn01.js 注:编码格式为UTF-8注:针对于列表,单选或多选未选中情况下进行提交时,使用js前台检查,共通的js已经创建在fastunit/domain/cmn/下 Cmn01.js 调用方法deleteCheck(url,unitID) 。1.1.4 Js编写规范 编写js时应

5、注意IE兼容性问题,建议使用mootools.js(1.2.4)平台已经将mootools.js引入到单元中。例如:获取当前页面ID为”aa“的元素 正常可以写为document.getElementById(aa); mootools可写为$(aa);1.2 表1.2.1 表创建 所有的业务表创建在app域下;当在其他域中引用表时,表达式为app|tableName。1.2.2 表管理 通常不在平台中创建表,而是在数据库中创建表之后导入平台;输入表名,如果导入的表不是来自其他的数据库则数据源为空,点击导入(不能导入相同的表名)。下图为SRV_ACCOUNTRECV_TB导入平台;需要注意以下

6、几点。 数据类型: 必须与数据库字段类型保持一致。 值生成器:例如createdate 创建时间,选择值生成器是为了不必程序处理,平台提供赋值功能,但数据类型是时间戳,值生成器也必须是时间戳,否则不会自动赋值。 生成规则:选择值生成器后,要选择生成规则,例如,创建时间生成规则选为新增;表示在新增时才可按值生成器赋值。修改时间选择全部;表示新增、修改数据时都将按值生成器赋值。 版本字段:选择updatecount更新次数,唯一用来控制并发字段。2 后台开发向导2.1 命名规范2.1.1 Package 命名 2.1.2 Package 的名字统一用小写英文单词书写 Package的名字 = 包前

7、缀 + 包名 包前缀如下:com.rxc + 系统名 + 子系统 包名:程序功能的英文名(小写) 如下: package com.rxc.amis.action;2.1.3 Class 命名 采用完整的英文描述符,所有单词的第一个字母大写 类名 = 功能码 + 程序功能的英文名 + 类种类 功能码(各功能名的缩写)例如:Vehicle-Vhc Service-Srv 类种类:Action/UI /Help/MapListFactory/SqlProvider等 例如下: 1)Action LoginAction.java 2)Help LoginHelp.java 3)UI LoginUI.j

8、ava 4)MapListFactory LoginMLF.java 5)SqlProvider LoginSP.java2.1.4 方法命名 第一个英文单词小写,后续每个英文单词首字母大写 (说明:构造函数的命名应与类名保持一致) 例如:getInboardColor()2.1.5 变量命名 类型标识符小写,后续每个英文单词首字母大写 变量名 = 类型标识符 + 描述词变量类型标示符IntiShortshLonglFloatfDoubledBooleanbCharcBytebyStringstrListlstBigdecimalbdBigintegerbiDatedt一般对象o 描述词为一个

9、简短且意思明确的英文单词 如果通过以上规则,还出现同名的变量,可以在变量后添加后缀来解决,后缀以下划线_来连接 例如:int iLoop; String strUserName; 数组应该总是用下面的方式来命名: byte byDataArray;2.1.6 常量命名 常量的名字应该都大写,单词之间用下划线分隔 例如:static final int MAX_WIDTH = 999; 不变化的定义成常量类。每个域一个,后期修改。2.1.7 参数命名 参数的名字必须跟变量的命名规范一致, 参数的名字规则为第一个单词首字母小写,其后的单词的每个字母大写 例如:getColorDetail(Stri

10、ng strColorCode)2.2 JAVA编码规范2.2.1 JDK版本要求 Jdk1.5或以上。 注意:所有的文本文件(js文件以及java文件,存储过程等)的编码格式都为UTF-82.2.2 编码规定2.2.2.1 Import规则 import语句不要直接引用类 例如: import java.util.Vector; import java.util.Date; /* 错误 */ import java.util.*; /* 正确 */ 引用顺序: 1.引用java标准类库 2.引用javax扩展类库 3.引用马自达项目相关类库 4.引用其他第三方类库 每一类import类库之后

11、要加上一个空行2.2.2.2 格式约定 缩进本项目要求缩进采用4个半角空格 不要在源文件中使用Tab字符 行尾不要保留没有意义的空格 如果因为行过长发生换行,语句尚未结束的情况下,缩进为4个空格 换行前括号不得出现在行首,只能出现在行尾,即不得另起一行 else必须在后括号之后,不得另起一行 while必须在后括号之后,不得另起一行 catch必须在后括号之后,不得另起一行 finally必须在后括号之后,不得另起一行 一行内不得出现两条语句。 例如: arrayInit0 = 7; arrayInit1 = 8; /* 正确 */ arrayInit0 = 7; arrayInit1 = 8

12、; /* 错误 */ 示例代码: public class Untitled1 extends Object implements Comparable public int compareTo(Object something) return 3; public boolean calcStringValue(int length, String valueToTestFor, boolean trim) throws Exception int arrayInit = new int 234, 34, 234, 45; if (trim) if (valueToTestFor = null

13、) return false; else valueToTestFor = valueToTestFor.trim(); else if (length 0) length = 5; else try length = 234 / 34 + Integer.parseInt(valueToTestFor + Integer.toBinaryString(length) + Integer.toHexString(length - 4); catch (NumberFormatException ex) throw (Exception) ex; finally return false; do

14、 switch (length) case 2: break; default: arrayInit0 = 7; arrayInit1 = 8; break; arrayInit0+; while (arrayInit0 3); return true; 空格分号应该紧跟行尾最后一个字符,分号与行尾字符之间不应该有空格 方法名应该紧跟左括号(,方法名与左括号之间不应该有空格 关键字、保留字跟左括号之间应该有一个空格 两个连续左括号之间应该有一个空格 左括号与同行后续内容之间不应该有空格 逗号与同行后续内容之间应该有一个空格 分号与同行后续内容之间应该有一个空格 前括号与同行前面内容之间应该有一

15、个空格 强制类型转换与同行后续内容之间应该有一个空格 算数运算符、逻辑运算符连接的两个元素之间应该用空格分隔 示例代码: public class Untitled1 public void printData(int x, int y) int j = new inty; ArrayList list = new ArrayList(); for (int i = 0; i y; i+) ji = x + y; list.add(new Integer(x * i); System.out.print( (Integer) list.get(i); 空行 声明package之后有一个空行 声

16、明import之后有一个空行 类内部全局变量声明与方法之间有一个空行 类内部各方法之间有一个空行 方法内部变量声明与正式代码之间有一个空行 方法内部代码各逻辑之间有一个空行 类内部不得出现连续两个及两个以上空行的情况 示例代码: package com.borland.samples; import java.util.*; import com.borland.test.*; public class Untitled1 private int height; private int width; public void setHeight(int height) this.height =

17、 height; public int getHeight() return height; 行宽行宽不得超出80个字符2.2.2.3 强调封装性 根据OO编程思想,一个封装良好的类应该是所有的成员变量都是私有的,外部只能 通过公有的接口方法来实现对内部属性的访问。 因此,类内部所有的全局变量应该声明为private类型的 同时设置public的get和set方法,实现从外部对此变量的访问 示例代码: private String strStatus = ; public String getStatus() return strStatus; public void setStatus(St

18、ring strInStatus) strStatus = strInStatus; 禁止使用内部类类的声明最好不要使用final类。2.2.3 程序LOG2.2.3.1 级别描述 5 DEBUG 测试信息 4 INFO 正常运行信息 3 WARN 可能的问题 2 ERROR 错误信息 1 FATAL 致命问题(建议使用2, 3, 4, 5四种)。在捕捉异常时,输出error Log信息。数据库操作SQL文以及事件正常处理完成时,输出info Log信息。方法开始,结果时输出debug Log信息。2.2.3.2 样例代码 程序Log,使用slf4j import org.slf4j.Logg

19、er; import org.slf4j.LoggerFactory; private static final Logger log = LoggerFactory.getLogger(类.class); log.error(错误信息);2.2.3.3 禁止事项 最终提交程序版本不能包含system.out.打印日志等语句。2.2.4 注释2.2.4.1 注释品质要求 注释品质要达到使新加入项目的PG能够独立看懂代码为最低要求 注释行数要达到代码总行数的20%以上 声明有重要作用的变量,调用函数,进入逻辑分支,进入循环等情况下必须加注释 把javadoc的标准化集合进来2.2.4.2 版权声

20、明 在各文件头添加如下版权声明 /2.2.4.3 注释规则 类 类的注释必须包含如下的内容: 类的简要描述,可以采用中文或英文,创建日期,创建的人 前面加入author, 当前的版本号 前面加入version 例: /* 经销店可以在系统上指定TFL发车的优先度* 复杂的处理添加详细说明 * author rxc admin * version 1.00, 2007/08/10 新规作成 * author rxc administrator(da) (变更时)* version 1.10, 2007/0910 改善案件名(变更时) */public class VlgDOTFLPriority

21、Model extends CmnInfoModel 变量、方法 对类中变量声明的注释请使用注释符/ 如下:private TfpSubmit btnReturn = null;对于public的成员变量,使用块注释方法加注释,以便可以生成javadoc文档。/* 成员变量含义*/Public TfpSubmit btnReturn = null;每个类的方法声明及方法内的代码都要有注释,其中类的方法注释含如下内容:方法功能或作用的简要描述参数数据类型,前面加入param返回数据类型,前面加入return抛出异常说明,前面加入exception例: /* * 获得提取文件的结构体 方法说明.

22、* param extStruct CmnFontExtractionStruct参数说明 * param strRootDir real file dir参数说明 * return String execute result返回内容说明 * exception SQLException异常说明 */public String getExtractDetail(CmnFontExtractionStruct extStruct, String strRootDir) throws SQLException . /Rollback connection.rollback();2.2.5 常用类的

23、使用2.2.5.1 Acion 执行命令行:继承DefaultActionpublic class SavePartsAction extends DefaultAction public void doAction(DB db, ActionContext ac) throws Exception /获取命令行配置的table Table table = (Table) ac.getTables().get(0); List rows = table.getRows(); ColumnRow row = rows.get(0); /time赋值 row.set(time,2009-09-09

24、);/调用命令行保存 super.doAction(db,ac); 执行ajaxAction:实现Actionpublic class GetPartsAjaxAction implements Action public ActionContext execute(ActionContext ac) throws Exception Ajax ajax = new Ajax(ac); /获取零件代码 String partsCode = ac.getRequestParameter(partsCode); /赋值 ajax.setValueByName(0, pat004.order.lis

25、t.partscode,partsCode); ajax.send(); return ac; 涉及处理数据库并没有执行命令行,可继承TransactionActionpublic class SavePartsOrderAction extends TransactionAction public void doAction(DB db, ActionContext ac) throws Exception / 保存主表 Table table = new Table(app, PAT_PARTSORDER_M); for(int i=0;idata.size();i+) String or

26、derNo = data.getRow(i).get(orderno); String factoryCode = data.getRow(i).get(factorycode); String orderSum = data.getRow(i).get(ordersum); String ordersType = data.getRow(i).get(orderstype); ColumnRow row_m = table.addInsertRow(); row_m.set(orderno,orderNo);/订单号 row_m.set(orderstype,ordersType);/供应商

27、代码 row_m.set(companycode, companyCode);/公司代码 db.save(table); 2.2.5.2 Help 当业务比较复杂,避免一个类里的代码过多,可写一个辅助类。/用单表查询作为样例,一般涉及到多表查询逻辑复杂时可创建此类public class PartsrsdiinHelp /参数为零件代码 public String getSql(String partscode) StringBuffer sb = new StringBuffer(); sb.append(select * from PAT_PARTSIN_TB where 1 = 1);

28、/ 零件编码 if(!Checker.isEmpty(partscode) sb.append( and partscode=); sb.append(partscode); sb.append(); /返回SQL return sb.toString(); 2.2.5.3 公共方法类 公共方法类示例public class Util implements java.io.Serializable public void SrvCommonCheck() /默认除法运算精度 private static final int DEF_DIV_SCALE = 10; /* * 提供精确的加法运算。 * param v1 被加数 * param v2 加数 * return 两个参数的和 */ public static double add(double v1,double v2) BigDecimal b1 = new BigDecimal(Double.toString(v1); BigDecimal b2 = n

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

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