本文简单介绍了在电商行业,开发企业自有系统,要处理的一些问题与开发工作经验的一些总结。开发的时候,考虑到了这些问题,开发将会更加顺畅,开发出来的软件将更有生命力。
充分利用原有系统功能,把工作量降低到最小
公司的系统是是正在运行中的系统,做二次开发的时候往往是在原有的一些基础功能上升级,这就要求不能破坏原有的功能逻辑,又要利用好先有的功能,因为要实现某些功能的时候,可能有的功能已经有了。例如,电商平台需要做一个充值的功能,系统原本就有支付功能,礼券功能,那我们能否可以考虑把两个功能综合起来改造一下呢?
站在平台角度上设计、开发,做到模块化、工具化
开发系统的时候,有时候需要跳出来考虑,开发的视角,不局限于项目本身,不局限于项目组本身,要站在全局的角度考虑。例如,有这样一个场景,负责退换货业务的项目组,需要开发一个功能,退款成功后需要推送一条消息给APP客户端,这个时候,可能需要研究一下诸如极光推送,友盟推送之类的第三方解决方案,然后调用第三方API开发相应的功能。无独有偶,支付组,可能也要做类似的功能,在用户支付成功后,需要推送一条消息给APP,提醒一下用户支付成功了,这个时候,支付组又要研究一下第三方推送的解决方案,做重复性工作了。其实一开始,退换货组就应该分析到,消息推送应该是比较通用的功能,完全可以开发一个通用的工具模块、工具,给整个公司的人使用。当然,开发通用模块这种工作,在有的公司可能有专门的架构组开发完成,这里只是举个例子而已。
处理代码积累,重构代码
要相信,需求的变更,是代码产生臭味,使代码变的混乱、腐化的根源。特别是持续迭代更新的代码,有时候为了赶进度,或者为了规避系统产生较大的改动,很容易破坏代码原有设计,或者的随意复制黏贴代码快速实现某些功能,逻辑变得越来越复杂,重复的代码变得越来越多,代码最终改不下去了,然后才想起来要整理下代码,这个时候已经太迟了,可能推到重新来过所付出的成本反而会更低。因此,在开发的时候,要做个有心人,一个小小的优化,一个小小的量变,都是为了未来做质变而准备。
各个端兼容,各个版本兼容
公司走的是渠道电商解决方案,开发一个功能的时候,需要考虑到PC官网、安卓端、IOS端、移动T站端、门店系统、ERP系统,这些不同平台如何实现,功能如何取舍;移动端同一个平台,开发的时候,还要考虑向低版本兼容。各种不同端背后可能有不同的团队负责,开展一个涉及面很广的项目的时候,如何更高效地和各个组沟通,如何把握项目的进度,这都是很大的挑战。
投入产生的控制,系统完善度与进度、项目风险之前的关系的平衡
开发一个功能,有时候并不是做得越完善就越好,也不是做得越完美就越好,而是要平衡开发的投入成本和项目带来的产出,要考虑值不值得你这样折腾。当然,作为一个纯粹的程序员,不考虑资本家的事情的话,做到100%完善、易用是最好的。
可行性、需求、开发、测试、上线、上线后的监控、上线后的效果、后续运维和升级的需求全程跟踪
作为开发人员,在参与项目的生命周期中,电商行业与其他行业有不同的地方,可能在于上线后的监控、效果跟踪和运维。在电商行业,如果系统出现了问题,很有可能会影响销售、影响客户体验,或者是出现一些漏洞,造成公司损失。因此确保系统稳健运行,不出问题至关重要,在系统上线后,必须做好监控,确保出了问题能够第一时间发现和处理。系统稳定之后,还需要做效果评估,看开发的功能、做的项目是否带来了回报 ,效果如何,看有没有什么地方需要改进、升级,获取更大的回报。
读到最后,读者可能觉得文章可能是标题党,这些经验可能跟电商企业开发关系不是很必然,也许在任何一家软件开发的公司都会碰到这些问题,这也许是软件开发想通的地方吧,但这确实是本人在从事电商行业软件开发工作只所感,如有不合理的地方,还请指正,如有更多好的经验和方法,欢迎分享。