首页 > 代码库 > 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.出异常时数据的回滚是否彻底(要么都成功要么都不成功);