正文
重构项目,在只是重构的前提下,对于公司的收益来说是——0,因为你的产品的用户,他们并不会为你的重构行为来买账,对于他们来说,你的源代码写的好看与否根本无所谓,对他们重要的是产品本身有没有改进。对于公司来说,重构行为不但没有带来任何利益,反而消耗了程序员资源,对于公司来说是损失。
一个互联网产品的生命周期可能就只有短短的几年,放长一点看,现在写的代码可能过几年就会毫无用处,在这样的前提下,现有项目的重构,一定是建立在项目本身还十分有前景的基础上,这个项目将来还有多少潜力,值不值得去重构?如果这个产品本身并没有什么可做的了,那么是否还值得花时间去重构它?
为什么需要进行项目重构
每个项目重构的理由各不相同,但个人总结来主要是以下两点
-
原来的项目漏洞太多,或者稳定性太差,当前的框架很难彻底根治。
-
新的项目需求,原有的程序框架已经无法满足。
假设你的项目没有很多bug,稳定性也很好,或者暂时没有在现有框架下很难实现的新的需求,那么不建议进行项目重构。
我在上一家公司的SEM组工作时,经历的第一次重构,是将后台的竞价计算出的竞价的结果,由数据库的表(Table)存储改成了推送到队列系统(RabbitMQ)。后台竞价程序算出的竞价结果需要由另一个上传程序上传到Adwords等竞价平台,我们在过去的做法是在数据库建立了一张表,竞价程序将算出的新竞价存储在其中,上传程序则定期的去查询表中的新加入的记录,将其成批上传,并在上传后删除。那么为何要进行这次重构?