写代码是我的工作,我也乐在其中,你可以想象一下在某个风轻云淡的炎热夏日,我在面对屏幕在宿舍不停的敲打键盘,间歇时便啜口白开水,然后继续… 一个web应用,从数据库设计,业务逻辑代码,很酷的特性,前端页面和样式一手包办,老实说如果让别人帮我作,我都不放心,我担心他写出东西不符合我的期望,又难以启齿说他写得不好。这样,我发现一直以来都是一个人在写代码,我可以写出一个别人都喜欢用的应用程序,但是却没有人会在看完你写了一段很酷的代码而大声称好,也没有人乐意指出我的不足,跟你说这块代码写的有问题。我觉得很沮丧,就像你写的书无人问津。而即使现在在公司里也不例外——团队之间的合作似乎并不体现在共同参与同一个项目,更多的是一种依赖关系。项目里你负责的部分写好了代码,只要它工作正常,在项目计划好的时间内完成,那就成,没有人在意你写成什么样。我想结对编程可能会是个好主意,但是结对编程绝对是幻想,公司不大可能付出这样的成本,但是我觉得可以尝试,就像Thoughts on two months of pairing说的那样,结对编程真的会解决一些问题,”Get Shit Done”,而且对现在的我来说可以解决我的问题。结对编程的好处是:

  • 两个人之间可以互相督促,把工作完成,提升效率。
  • review对方的代码,减少bug。就像Thoughts on two months of pairing说的那样,有时你写另了一段代码觉得ok,但是经过别人的review就很容易发现问题,然后自己再看时就发现自己写的有多么荒谬。
  • 互相学习和提升。每个人都是在这技术领域唯一的冒险者,有着不同的理解和技巧,大家可以取长补短。

另外,我并不想把结对编程和敏捷开发联系起来,虽然更多时候,结对编程就是一种敏捷开发的方式,因为我想强调的是结对编码要优于独自编码。

Jeff Atwood的On Working Remotely也谈到他曾经一个人编码的经历,现在他在家中和他的code partner一起“甜蜜”地工作,在“野外”寻找一个这样的code partner我觉得比找gf还要困难,因为两个人需要在编码水平差不多的情况下,对编程的理解需要一致,有共同的想法和目标,但最重要的是两人需要既是code partner也是朋友。

Post a Comment

*
*


为了防止恶意的垃圾评论脚本,请输入以下图片里面的数学方程式的答案。
防垃圾评论问题