新产品开发的后期以及发版后的一段时间内,很多的工作要做,作为技术人员,我的观点是,重点技术工作应落实到质量、性能、效率和推广。
- 质量
对于一个新产品来说,质量真的是比任何事情都重要了,一个动不动就死机的手机,其它方面再好估计你也不会用。第一个版本一旦出现质量差的影响,一般很难再翻身了,即所谓的第一印象。
要控制好质量,最好的方法我认为就是大量的单元测试,在产品开发后期,平台接口相对稳定了,不像早期的时候,接口一改,大量的单元测试要重写。在后期,最怕的是修一个BUG又制造了一堆的BUG,单元测试是最好的工具。顺便提一句,所有的单元测试必须保持全部通过,注意是全部通过,否则单元测试将毫无用处,因为当你改动了一个功能后,你很难知道未通过的测试用例是你造成的还是原先就不能通过。
- 性能
质量是第一步,第二步就是性能,这个教训,在Windows上是最好的佐证了。你看,微软这不Win8强调很低的配置也可以跑的很快吗?在没有选择的情况下,大家也就忍了,有选择的时候你客户跑的有多快啊,哈哈。
关于性能,我认为不要走火入魔,一个买十几万的产品,要搞千万级产品的负载是不妥的,性能优化也是要成本的。再比如,已经优化某个指令在100毫秒内完成,就没有必要要花很大的成本降低到10毫秒,客户能区分10秒比1秒快,但无法区分10毫秒比100毫秒快。
我们知道,底层平台的一个优化,会让上千的上层应用加快。但你也要记得,底层平台好不容易减少的几个毫秒,业务代码可能一个循环SQL就把这个应用搞的糟糕,因此,在调优底层后,代码检查业务代码也很重要。
- 效率
在新产品的开发过程中,我们知道工具非常重要,可现实是,除非非常重要且相对简单的工具,往往被“更重要”的需求所排队的后面。
在交付新产品后,应该对过去的开发进行总结,访问一线的开发人员,找到影响开发效率的点。例如在我们的开发中:
— 要加载太多的工程文件,机器运行缓慢;
— 附加方式的调试造成VS不能实现“编辑即运行”,每次发现错误都要停止调试;
— 配置的修改不能即时应用,要重新启动产品;
— 不能在运行时,使用即时脚本查看运行的变量值,运行日志;
— 造数据,要花很多的时间
这些点点滴滴的地方,你会发现一天的时间中,你只有很少的时间花在代码的编写上,大部分是在调试。
- 推广
我这里指的推广,指规范的开发方法在开发组的推广。在产品形成初期,大家也都是在摸着石头过河,代码写的是五花八门。现在,底层也稳定了,该经历的也经历了,有了这些丰富的经验,就需要总结各种应用其开发的模式形成文档和范例,这样,在产品功能的后续开发中才能规范和快速。
我认为可以建立诸如MSDN这样的网站,包含文档库、范例、教程视频和论坛。