机会

一般做系统开发,很多时候都是在某些基础之上搭建新的功能,或者维护现有的功能。从零开始做起的项目是很少很少遇到的。

在有一定基础上建设系统,需要的技能是快速理解现有代码,框架和结构,并按需求加以改造。按这种思维做出来的代码通常不会做大手术(架构调整),因为任何大动作都影响旧的功能导致运行问题。如果幸运的,有测试代码覆盖了旧的功能,需要重构的时候比较安心,如果不幸没有任何测试代码,那结果就是不动为妙,新的功能只是加上去,只要不动根基,应该是最安全的做法。

曾经维护过一个系统,上几千行的存储过程俯拾皆是,没有基准测试程序,子系统之间的关系千丝万缕,程序员一般都是做修补工作,偶尔有些新功能要开发,如果和旧功能有重合部分,基本都是再复制一份代码再改。

这系统是一个定时炸弹随时爆炸。当时大部分程序员都有一种态度:不要做大改动,出了什么事谁负责? 就算有小部分程序员有意去改动,不过在行为上却是相反的。很明显,这是一个坑,一个无底的深坑。

相对来说,这是一个很好的机会,非常难得的机会可以重构一个巨大的系统。什么ESB,消息队列,服务化等手段都用上,同时也布局了单元测试等,可以说是使出了浑身解数尝试医治这个系统。

以上描述的情况在很多企业都很常见,不过是否会走重构这条路取决于很多条件,而大部分都采取视而不见的方案,继续开发新功能,哪怕这些功能开发进度越来越慢,或越来越多问题。

我有幸有过这种机会,或者说,这种机会通常都发生在我身上,大概因为我比较喜欢分析和解决根本问题。要我修修补补,会让我产生自然的抗拒感。

有些技能,尤其是架构方面的技能,可以在新系统开发的过程获得,也可以在某些重构过程中获得。所谓机会,很大程度取决于我们自己是否能发现它,而且把握得到,最终实现看到最后的结果,当中团队的氛围有着决定性的影响(当然团队成员包括决策者)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值