强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
【前言】
在重构系统之前对架构及重要技术点进行了一些研究并应用到项目中;不过在重构的时候又陆陆续续发现些需要改进的地方;最近一段时间在改进后端框架;在此与大家分享一下在这个过程中所作一些事情和自己的一些思考。
【一些优化】
1、包的命名到服务还是模块:在开发过程中规范也是十分重要,好的规范不仅利于开发,而且利于以后的维护会大大减小开发成本;我们的系统由七个服务组成,每个服务又由N个模块组成,包的命名涉及到我们关注的粒度,综合实际情况我们最终采用的是到服务级别。
2、开发流程按照模块还是包:在分工的时候是按照模块来划分还是包来划分,我们根据自己当时的情况,将人员分成七个组,每个组是按包,包内的模块由每个组再自己去定。
3、mybatis逆向工程处理一些问题:由于采用是我们自己的逆向工程工具,和当初预料一样,在开发过程中需要改一些东西以适应开发(增加批量操作、自己生成UUID、模糊查询等等....)。
4、POM文件的梳理及开发添加pom流程:Maven管理程序之间的相互依赖关系,但是传递依赖等问题在开发中要留意,对Pom进行梳理,原则:自己用自己依赖,不要靠别人依赖;不然很容易别人的改动导致自己出问题;大家都按这个原则来则会减少很多不必要的坑;另外针对版本,都统一在parent中配置,统一来升级,防止大家用不同的版本而导致的兼容性问题。
5、一些规范的建立 (如:日志....):很多规范在开发之前是不能完全预料到弄出来,需要在开发过程中不断去完善补充,比如日志的打印形式,怎样打印有利于后期采用ELK收集,另外打印入参有利于快速排错等。
6、事务方面一些考虑:在设计的时候通过业务的划分规避了分布式事务(不同服务之间只有查,没有修改操作);在同一个服务中,针对事务要写在方法上而不是类上(写在类上浪费性能), 以后还需要考虑到异常数据的保留。
7、开发模式:如何分工能更好的利用资源?如何将系统做的更加的灵活可配? 这些需要团队在不断的磨合中去思考和总结。
【总结】
1、不要犯懒,勤于思考,只有不断的思考和总结才能提高自己;
2、多和人沟通和交流,在沟通和交流中使自己可以学到很多东西,成长的更快。