公司开发经验总结
因为是开发经验总结,所以我从开发过程中具体涉及到方面讲起,这些方面包括:
1.Js脚本编写
2.jsp
3.action
4.sqlMap.xml
5.数据库表设计
Js脚本编写:
1.页面中js的编写,套用
var JS = {
filter : function() {
return true;
},
validate : function(form) {
LogicForm.pushFilter("checkItemFilter", this.filter, true);
return LogicForm.validate(form);
}
//增加其他方法
};
此模式使页面脚本清晰。
2.编写脚本中最好不要定义全局变量。(上次包头指定项目负责人页面卡死,由全局变量引起)
2.jsp
1.尽可能一个功能点对应到一个jsp页面,这样使jsp页面不用加过多的条件判断,使页面代码看起来清晰明了,同时利于以后的维护。
2.jsp中的代码最好使用代码自动生成工具生成的代码,自动生成的代码加上了页面校验时需要的一些元素属性如:label;required;数字范围等
3.jsp应仅做展示使用,不应包含向数据库查询数据的代码。
3.action
1.最好一个功能点一个action类,这样做的目的就是思路清晰,代码清晰,同时降低了维护成本,不会造成牵一发动全身的问题。
2.action类中处理用户请求的方法中一次执行因只调用一个包含增或删或改的业务方法,模式如下:
public ActionForward confirmJudgeResult(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
if(true){
objectManager.save1();
}else{
objectManager.save2();
}
objectManager.findInfo();
}
就是所有的增或删或改都应在save1()或save2()中执行完成。这样做的目的就是保证事务的一致性。我们日常的维护工作中有很多因为事务不一致的问题引起(如有待办没数据问题)
3.action类中把jsp中所需的数据全部查询出来,jsp只做数据展示使用.(同jsp第3点)
4.action类查数据时应遵守:少向数据库发送请求的原则。确保少向数据发送请求,已提高执行效率。(这一点在编写工作流路由的代码片段时也应遵守)
4.sqlMap.xml
1.对于较复杂的查询一定要用单独的sql,不应拼凑到共用的sql配置(如id=”find”)上,以降低维护的难度。
5.数据库表设计
1.数据库表设计这是一个更高级的问题,可能要根据具体的需求业务,设计出更易开发者实现需求和满足表设计的一些范式的表结构,当然达到这一目的,有一定的取舍均衡。这个提不出很好的意见,只能从开发过程遇到的具体问题,给出一些建议。
1.根据实际需求考虑要记录数据的状态。有些需要要求要能查询某一状态的数据,这时我们要能根据记录状态取值,而不是从工作流状态取值,从工作流取状态值,效率无法想象。
6.数据库.plsql,触发器
6.1创建的触发器应当尽量建在试图(view)上,保留表级的独立性。实际工作中发现的情况:在对表记录进行数据修改时,不成功。因为表上有触发器,而执行触发器报错,而影响到数据修改。如果我们保留表达独立性,则不会存在这样的问题。