为什么要重构?
在我们的项目初期,会遇到大量的未知的问题,可能是来自业务上的,也有来自技术上的,一般的项目肯定两者都是存在的,除非是公司走的技术线,项目初期,技术大牛带着,严格把控代码关。
技术类引起的重构
在实际的开发过程中,我们没办法过深的考虑问题,更不可能面面俱到,不得不承认,大部分的走业务线的公司,前期的项目基本是外包的,因为外包的费用要比养技术人员低很多,当然是个人外包,就是公司的老板或公司的同事,认识个程序员,或让朋友介绍个程序员,让他来把项目接过去,他可能再转一手,这么做出来的项目,综合下来能更省钱。当然公司的主营业务不能是技术线,网站或系统只是打辅助,这是前提。走技术线的科技类公司最好找个技术合伙人,以技术为主,话语权很重要,否则中后期无穷无尽的麻烦。外包,意味着代码质量没法很好的监控,只要功能实现了,其它就无所谓了,而这样导致的结果,后期要想把代码接管过来,重新招人的话项目几乎没法去维护,有的时候,公司在融资后,往往会把这个外包的程序员接引公司来,让他负责整个项目的研发。
产品业务引起的重构
不是所有的产品团队都能很好的把握需求,公司里产品改需求真是太常见了,当然这并不全是产品的锅,这其中就有相当一部分来自老板和客户的需求变更。