【IT168 专稿】“2011年都已经来到了,你的Visual C++ 6.0 升级到了Visual C++ 2010了吗?”
最近总是被人问到这样的问题。是的,最近很多地方都在讨论Visual C++ 6.0和VC2010的差别,特别是在IT168上,Visual C++ 2010亮出十大绝技让Visual C++ 6.0叹服之后,大家看到了Visual C++ 2010在Visual C++ 6.0 之上的巨大改进,程序员们个个都摩拳擦掌,跃跃欲试。但是,正如那首歌里面唱的那样:“革命军人时刻要牢记,三大纪律八项注意——”革命军人要时刻牢记三大纪律八项注意,我们在将项目从Visual C++ 6.0 升级到Visual C++ 2010的时候,同样有“三大纪律八项注意”要遵守。
三大纪律,保证升级安全平稳进行
面对一个新的开发平台,面对一些新的开发技术,在程序员中,往往有两种截然不同的态度:
保守的程序员认为:我还是保险一点比较好,让别人先升级,先试验,等到别人成功升级或者新技术应用成熟之后,我再跟着升级也不迟。虽然说长江后浪推前浪,但是前浪都是死在沙滩上啊。
激进的程序员则认为:又有新技术出来了?太好了。新的开发技术可以给应用程序带来这么多新的功能特性,那我赶快应用到我的产品中,增强产品的功能特性啊。还等什么,立刻,马上进行升级应用新技术。
作为一个成熟的程序员,这两种态度都应该是我们所反对的。面对业界不断推出的新技术新平台,我们不应该像保守的程序员那样,对新的技术发展趋势视而不见,等着别人应用成熟了再去应用,那样也许机会就白白错过了。到时候眼巴巴看着别人吃肉自己却只有喝汤的份了。同样的,我们也不应该像激进的程序员那样,还没有弄明白新技术到底是什么东西,新技术可以给我们带来什么价值,一听说是新技术就盲目应用到自己的产品上,而不管这些新技术是否适合自己的产品,这样的盲目应用新技术,真的只会让自己“前浪死在沙滩上”,成为盲目应用新技术的反面教材。
所以,在面对已经在业界炒得沸沸扬扬的Visual C++ 2010这个新的开发平台的时候,我们不能保守,丝毫不理会Visual C++ 2010的巨大功能改进所可能带来优势;我们也不能激进,不管三七二十一地将我们应用成熟的Visual C++ 6.0 一股脑地升级到Visual C++ 2010。面对这个升级问题,我们应当遵守三大纪律:
• 先副业后主业
如果我们的公司有多个产品线,那么你的升级过程应该是从你的副业开始,等副业成功升级,积累经验后,再扩展到主业。这样不仅可以保证你的主业不受影响,降低了升级的风险。同时,可以通过副业的升级积累经验,从而更好地完成主业的升级。
• 先试验后实施
毛主席教导我们说:不打无准备的仗。同样的道理应用到我们的升级过程中,也就是先做升级的试验,进行必要的可行性研究。新的开发平台确实会给我们带来很多新的技术,但是这些新的技术,是否适合我们的软件产品?即使适合,那么这些技术是否能够应用到我们的软件产品之上?这些问题,都需要通过可行性研究来获得解答。通过试验,探讨技术的可行性,看项目中是否所有技术难题都可以在升级过程中解决,或者是否有其他的补救方法。这样可以让升级过程在技术上有一个保障,避免那种在升级过程中遇到一个技术难题无法攻克,而又不得不退回到原来版本的恶梦。同时,在试验中还可以积累很多升级的经验,这样可以让后面的升级过程更加顺利,旧平台可以平滑地过渡到新平台。
• 先局部后整体
如果我们的产品有多个组件组成,比如一个主应用程序加上多个动态链接库,我们可以先从局部开始进行升级,从产品的某一个组件开始,等到这个组件升级成功之后,再逐渐应用到其他组件,最后完成整个产品的升级。这样的策略,也同样是为了保证产品的安全,平稳地升级到新的开发平台。
只要遵守这三大纪律,我们的升级过程一定可以安全平稳有序的进行,无论升级成功或者失败,都不会对我们的产品造成太大的影响。即使在升级过程中,发现新技术新平台并不适合我们的产品,我们也能够很快地退回到原来应用成熟的平台上,不致于使我们的业务受到太大的影响。但是一旦升级成功,我们就可以借助新技术新平台给我们的产品带来性能上的增强,功能上的改进,我们也就率先吃上肉了。
三大纪律