2018年工作总结

2018年工作总结

回顾2018年,完整参与黄金军师、送1KG白银收益、资讯与主页改版等需求的开发与维护,以及日常生产问题的跟踪与排查。在以上工作中收获很多,下面以黄金军师系统为例总结一下近一年工作中的问题与收获。
黄金军师系统由以下四个基本服务组成:
1.军师信息查询服务
军师信息查询服务提示军师基本信息查询,排行榜查询,军师持仓与交易动态查询等功能,主要接口添加缓存,减少数据库的查询压力。
2.军师订阅服务
军师订阅服务负责用户订阅关系的维护以及成交推送等功能。
3.军师评论服务
军师评论服务负责军师策略与用户评论的发布与展示逻辑。
4.支付服务
为用户付费订阅提供支付功能。

整个军师系统开发过程比较顺利,但在维护过程中有人员变动,负责军师评论服务开发的人员离职后就由我接手军师评论服务维护。在维护过程中发现军师评论服务存在以下问题:
1.编译工程没有采用cmake工具,需要手动维护源文件之间的依赖关系,添加文件需要手动修改makefile文件,明确指定源文件之间的依赖关系。
2.军师评论服务没有采用通用的mysql基础库,而是开发人员自己写了一套操作mysql的库,但是库函数没有经过充分测试,使用这套库存在很大的潜在风险。
3.在开发军师评论服务没有使用stl中已有的容器,而开发人员自己写了一些容器类,而这些容器类同样没有完成测试案例和使用文档。
4.整个源码工作没分目录管理代码,不便于查阅代码排查问题。

上述问题我导致军师评论服务代码可读性差,重复造轮子在增加代码量同时引入了潜在问题。有鉴于于此,我总结出以下开发过程中的注意事项:
1.开发人员应统一开发工具,比如编译C/C++工程时应使用cmake工具来构建模块,每个模块源码分目录管理并且遵守一定的命令规范。
2.避免不必要重复造轮子,必须使用通用的基础库。
3.规范日志输出,方便定位问题与事故排查。

在系统后期维护过程中遇到的问题同时也体现出我们在系统设计与项目管理上存在以下不足:
1.项目在构建初期缺少必要的代码走查与整体规划,项目的代码质量与规范依靠开发人员的自身素质。
2.现有的部分网关服务(前置服务)涉及一些业务处理与报文转换,导致每对外提供一个接口都要对网关进行代码改动或进行繁琐的报文转换配置。
3.系统进行过多次重大迭代,同时存在多种不同的通讯协议,导致服务之间的相互调度要适配多种通讯协议。
4.开发过程过早的考虑到不必要的性能设计,存在过度设计的情况,增加了额外的工作量。过度依赖第三方缓存,弱化了传统的DB优化手段与本地缓存的使用。

针对上述问题建议公司可以进行相应的改变:
1.在新人员加入项目前进行必要的代码规范与项目管理方面的培训,对新人员参与的前期项目进行必要的代码走查。
2.在通讯协议选型上尽量使用开放、通用的协议,做到面向未来、面向应用。个人推崇http协议,希望在每个结点(网关与服务)都用http协议通讯,同时网关只做网络隔离与报文透传(对接第三方服务的网关可以适当做协议转换与通讯加密)。
3.性能设计要提前考虑,但并不是盲目的,想当然的,应该以实际经验与压力测试结果为依据;避免过度设计导致项目复杂度增加。

在新的一年希望公司业务越来越好,自己也会做好技术储备应对金赢在线APP用户数量与访问量的激增。

最后给大家推送一款好用的在线C/C++编译器:https://www.winfengtech.com/compile

猜你喜欢

转载自blog.csdn.net/xungen/article/details/85195032