发表于: 2017-06-24 01:01:56
1 1038
今日完成
1、看了老大讲解的视频,还记得的收获有:
a. 认识了项目的module,子module结构service后端服务,admin后台管理,home前台页面,core通用的代码比如model,utils。DAO是发布了一个公司内部使用的jar包
b. test内的写法,插入-查询写在同一个方法里面,assertNotNull,然后或许还可以update assertNotEqual
c. 任务之前学的是工具,但是业务代码需要项目的实践
2、阅读项目流程,写完复盘申请ppt
3、读了接口文档和需求文档,尝试简单设计了一下表
4、再读Java开发规范
知识点简述:
1) 命名规范,项目命名:父项目后缀为子项目前缀、中业务、后类型,包取前中
2)注释规范 属性、参数、复杂逻辑、功能说明、添加日期、作者
3) 日志规范 参数--结果|调用信息|异常信息,加日志不要引入异常即不要因为加日志导致代码出问题或者使性能过于下降,大的list和model可以只打size和id
4)SVN提交备注+bug|task|story#id,[],TAG与branch目录结构 community->tag->"artifactId"->"artifactId"+Version
5)一个model一个表一个dao,使用@Transient 扩展(这个是H的方法,M里是什么)虚字段
6)memcache做缓存,如果分布式,数据同步怎么搞?
但分布式各个机器不能耦合,要搞个机器专门做缓存比较好吧
7)interface,spring注入,实现中尽量提取Util(不要复制自己的代码),参数检查,list优先与String
8)魔法字符提到constant里去
9)不在后端对前端做为数据展示的加工,用jsp或tag或不做,以功能而不是模块为依据分Controller
10)基本的代码优化,一个方法不要过长,不要if过多嵌套,循环里不轻易写耗费高的代码等
11)Service Test,从spring bean中拿service测试
12)Spring Quartz来管理任务的调度,完全没有接触过
13)参数不允许null时返回false或空值
14)数据库字段选择合理统一,避免null值,适当的索引优化
15)CodeReview是把代码放在公共上让其他人提出commits,然后作者回复或者修改代码。
可以重视业务逻辑中潜在的风险,比如让有经验的人看看有没有漏掉什么条件
问题
1)先取IDS,再通过MultiGet的方法取Object,完全不懂而且搜不到
2)IF块和其他块都要放在两个大括号中,是说if{}else{}即使一行代码也要这样对吧?
3)Service Test实现约定,lookup方法不是用来获取其他部署子项目的service的方法吗,不是本地测试吗?
4)只允许及必须抛出serviceException和serviceDaoException的两种异常。所有的RuntimeException里只能抛出这两种异常,其他的必须避免或者是catch对吗?这两个异常的描述?
5)各自的系统中留有一个可以在线,不当机调整参数的接口,使用Admin来控制参数。这个admin是管理员?用唯一一个最高权限的用户来调整一些参数?
明日计划
审查过后,可能进行story和方案设计,接口文档需要再写吗
评论