首页 > 代码库 > 好的程序员不是打字快就可以
好的程序员不是打字快就可以
不同的程序设计师,写程序的速度差异可能天差地远。有的程序师写得非常快,有的则是龟速。Jeffrey Ventrella是一个龟速派的代表,他最近在一篇文章中探讨了这种程式设计速度的差异,并且从龟速派的观点出发,来说明为什么在这个求快的时代,他认为程式还是该慢慢写比较好
以下是Jeffrey Ventrella的自述
我爸常跟我说的一句话是,慢一点写程序,才能快点把程序写完。
我在旧金山很多网络公司工作过,现在已经52岁了,对于程序设计师这个职业来说,我的年龄算偏大的。我写程序的速度近乎龟速,事实上,我更像是一个会写程序的艺术家。
以前有一次,我和一些比较年轻的程序设计师一起工作,他们信奉的程序设计宗旨是「速度快、更改少」。我们在同一个codebase里合作,就像在共同煮一大锅汤一样。如果我们每个人都持续不间断的贡献程序码的话,未来这个工程应该就会很美很壮观的呈现出来。
但是并没有。
问题在于,这些年轻的程序员在心里其实有这么一种思想,他们觉得:1、每个人都是可替代的;2、没人应该对某一部分的具体程序码负责;3、所有人应该都可以任意修改整个工程的程序码。
他们觉得,现在已经有了github这种工具用来管理非同步时间内的程序码贡献,只要每个人都持之以恒的贡献程序码,工程和产品就会顺理成章的出炉了。
事实不是这样的。程序设计从来就不应该是拿工具来减少软件发展的时间的。
程序设计应该是一项有节奏感有韵律的运动。我倾向于把工程依照不同的规模和时间度量分成不同的阶段,每一个阶段再从探索、实验、error、临时变数这些细小的东西开始做起。有时候当这栋建筑完成之后,我还会推倒重来一遍,因为我觉得我有更好的建筑方法。这种新的方法有时候是对的,有时候是错的,事实上除非真正去再做一遍,不然你永远无法知道究竟哪一种方法更好。
在软件发展生态圈里,关于对整个设计流程产生推动与支持的混合思考是很重要的,没有这一部分的工作,再快的程序设计师,又能做出多好的设计?
很多神经系统科学家相信神经元资讯的流动在大脑的传导过程中会有一个短暂的堵塞和混响,这对思维和感知会有很重要的作用。程序设计的设计也应该是这样,需要时间。
好的程序员不是打字快就可以