首页
首页  >  网络快报  >  移动互联

应用开发者:编程唯“慢”不破

2014-12-05  来源:人民邮电报  作者:杰弗里·文特拉

人和人之间编程速度的差异很大,有的程序员写代码非常快,有的却是“龟速”。一些比较年轻的程序员信奉的编程宗旨是“速度快、更迭少”,理论上看,在同一个团队里,如果每个人都持续贡献代码的话,未来这款应用产品应该就会很美地呈现出来。但是,并没有。

问题在于,这些年轻的开发者在心里认为:每个人都是可替代的,没人应该对某一部分的具体代码负责,所有人应该都可以任意修改整个工程的代码。他们觉得,现在已经有了github这种“神器”用来管理异步时间内的代码贡献,只要每个人都持之以恒地贡献代码,产品就会顺理成章地出炉。事实完全不是这样,编程从来就不应该拿工具来减少软件开发的时间。

编程应该是一项有节奏感、有韵律的运动。我倾向于把工程依照不同的规模和时间分成不同的层面,每一个层面再从探索、实验、纠错、临时变量这些细小的东西开始做起,这有点像建设脚手架的方式。每一个层面最终完成的时候,就成为一段可以部署和扩展的代码,这种开发过程有点像从策略到设计方案再到最后完成一栋真正的建筑。有时候,当这栋建筑完成之后,我还会推倒重来一遍,因为我觉得有更好的方法。这种新的方法有时候是对的,有时候是错的。事实上,除非真正去再做一遍,不然你永远无法知道究竟哪一种方法更好。

在软件开发生态圈里,关于对整个设计流程产生推动与支持的混合思考是很重要的,没有这一部分的工作,再快的程序员又能做出多好的设计?很多神经系统科学家相信神经元信息的流动在大脑的传导过程中会有一个短暂的堵塞和混响,这对思维和感知会产生很重要的作用。编程的设计也应该是这样,需要时间。

许多软件开发团队都在寻找更具预测性的工程项目,希望能促成更多的程序员拥有可持续发展的职业生涯。他们提出了一些可以切身操作的实践方法,比如结对编程、代码审查和代码重构,以开发更可靠、更健壮的应用软件。在旧金山海湾地区,风险投资支持的软件开发正呈现出一种高烧般的热度。利益正驱动着软件开发以一种完全不自然、不合节拍的方式在运动,它打乱了设计进化(design evolution)原本应有的周期节律。

另一个问题在于,人们对科技越来越迷恋,以及开发人员对工具表现出异常的狂热。大家总在说,为什么有的软件和应用做得这么烂?没错,确实很烂。烂的原因在于,太多一味求快的程序员在忙着建设工具,用这个工具去支持和适配另一个他们建好的工具,然后再用新的工具去支持和适配其他建好的工具,最后用全新的工具帮他们写出更快的代码。

这就是我为什么觉得应用程序开发需要更多的“人”,而不是“工具”的原因。应用程序开发真正的魅力在于,把人类的思维、设计、语言、逻辑和精神加以创造性发挥,以一种计算机可以识别和储存的方式记录下来。

关键词:

相关新闻