前同事离职,我接手他的项目,到现在为止,缝缝补补敲敲打打接近2个月(包括十一休假)。中间有大量的技术重构情节,于是总结和思维拓展一下关于重构的话题。当然,接下来不会讲技术细节。
项目背景是要将原来一个程序从本地版移植成在线版,说白了就是从本地读数据变为发web service从服务器拿数据。这么说其实这个项目本身就是一个大的“技术重构”,因为程序的关键点在于拿数据的方式不太一样,大部分的业务逻辑是可以复用的。当然由于在线版取消了SD卡,所以需要考虑性能和磁盘空间的问题,比如展现数据的列表就需要加上分页的功能,所以部分的表现层逻辑也需要相当的修改。编程语言是面向过程,特定平台的移动开发方式也是逻辑和界面混合编程,再考虑服务器端的编程,这确实不是一个简单的工作。
接手原来的同事的项目为什么也需要技术重构?坦白讲,前同事离职期间比较赶工,加上在原来的代码基础上修改,而且项目的需求又不太明确,所以很多情况下做出来的东西像半成品 -- 表面上一个普通的bug,实际分析后可能需要重写相应模块才能从“根本”上修复掉这个bug。苦不堪言,为什么苦?不是因为重写模块多么复杂,而是表面上的这一个bug给客户的管理层,公司的管理层,以及自己带来了“一个bug应该马上可以修复掉”的期望,但重写相应模块甚至重新设计相应的技术架构又需要相对较长的一个时间并且没有产出!这对于软件服务公司来说“没有产出”是很让人hold不住的事情。奋战了将近两个月,这个项目基本稳定了。











boluotou @ 新浪围脖