首页 > 代码库 > 20140815——项目总结
20140815——项目总结
1.需求分析
1.1.从原型提取 信息。
1.2.安全角度分析。
1.3.分析实体和实体间关系(类图)
1.4.画图:
1.4.1.活动图:每个功能的活动图;
1.4.2.组织架构图;
1.4.3.流程图;
1.5.建表
1.5.1.设计字段主要是看哪里用到或可能会用到;
1.5.2.创建时间,更新时间,status....
1.5.3.表中若有“过期时间”这种限制字段,那么在java中写SQL时也应该考虑到;
1.5.4.时间,日期字段用Date类型易用性比String更好;
1.5.5.建索引;
2.开发中
1.判空和trim:
1.1.方法接收参数时trim和判空;
1.2.调用方法时trim和判空;
1.3.调用服务时trim和判空;
2.调用服务时多打Log便于调试;
3.写每条SQL时要查看表字段(可能有‘status’,‘过期时间’...);
4.每条DML SQL都可能有约束异常;
5.更新时,修改更新时间;
6.修改‘status=T’ 时加上:where status!=‘T’ ;
7.sql查询数据加上order by 时间 desc ;
8.删除数据最好逻辑删除;
9.try catch时要么抛出异常,要么手动回滚事务;
10.出错:“典型的错误要用特定的错误码”,如:‘手机号已注册’,‘机会已使用完’,‘在黑名单中’;
11.缓存:存放数据加上失效时间!存放用户特定数据时:带上用户唯一标识!
12.当前用户要查询或使用自己的一些数据时,一定要加上数据的唯一标识,并且要判断真实性,
如:浏览器传了一个机会ID过来,我不断要判断机会ID的有效性,还要判断该机会是否属于当前用户;
13.页面数据提交时要用js进行验证,后台接收时也要验证;
3.优化:
1.每个方法的功能尽量单一,以便维护和重用;
2.使用代码检查工具;
3.在适当的地方写上注释;
4.测试
高并发测试:1.将所用相关功能同时进行并发测试,并查看DB数据变化;
2.出异常时数据的回滚是否彻底(要么都成功要么都不成功);