结对编程 记最近结对编程的感触

jinhuisheng · January 26, 2021 · Last by jinhuisheng replied at January 27, 2021 · 75 hits

最近有幸和小波老师一起结对写了几次 kata,也和几个朋友、同事一起结对一起写过几次。感觉结对编程的好处有很多,这里我想分享一下我目前最有感触的两点:

一、反馈快,充分暴露问题

结对的过程中,小到快捷键的使用,大到流程、思路的是否正确 每一步操作的所思所想,为什么要这样写?你想要做什么?更好的方式是什么…. 都能完全的呈现出来,发现了问题,就可以立即纠正错误,做出调整,经过了几次结对后,深深感受到了这些。

这件事让我思考了很多,也想起了以前的一些经历:

刚毕业工作那两年:

我想努力一些把工作做得更好,然后我就去看书,或者对着电脑浏览器打开的写的比较好的博客,然后拿着小本本开始去记,写一遍,写一遍…... 想想觉得好可怕,我为什么要这样做呢? 因为我觉得这样会记住,下次用的时候,就能用上。 但用上了吗? 没有,过一段时间就忘完了,之后再从新开始….而不是去练,去敲代码尝试

然后我又往前想了想,想到了上学的时候:

我学习不算好,在班级里一般都是中等偏上一些,想了想,好像一直都是呢,没有再上去过,早自习,上课,下课,晚自习,和别人的学习时间都是一样的,为什么呢?

是不是因为我在做题的时候,明明已经会的题,还在一遍一遍的做呢,然后难的题,就放一边了呢? 会不会是有些知识记不住,是因为我一直在背颂,而不去做题实践导致的? 会不会我背诵的方法有问题? ….. 都有可能,但也没有人看到,也没人知道我是怎么学习的。

现在想想,多希望那个时候能有人给我指点呀,多希望有个导师或者教练的角色提供专业化,系统化的辅导,也理解了像篮球教练,健身教练,敏捷教练…的价值, 虽然之后知道了要去练,但这个时间跨度就有些长了,做了太长时间的无用功,已经浪费了太多的时间.

如果那个时候有人发现了告诉我,我是不是就改变了呢,可能我现在会更优秀一些!

二、和前端伙伴结对帮助解决框架问题

我平时工作是 java 后端,最近半年也在写一些后台页面,也想在写前端页面的时候尝试用 tdd 的方式去写,结果下载 cypress 下了好久,mock Api 怎么写都不生效,折腾了两个晚上,也没有弄出来,反而自己真正想要做的缺耽误了很多。 因为是远程工作的原因,同事不在旁边,而且同事也没有这样做的,像这种配置问题或者环境问题,不看你的电脑,也不好解决,这个时候想到了去找效瑞,他是前端,而且也一直在练 tdd,然后就去联系他,我们开飞书视频结对去看这个问题,很快就给我解决了,还指出了我的思路问题,应该怎样写。

这个也算给自己长了个教训,如果你对框架不熟,可以跟比较熟的伙伴结对去写几次,就能很快熟悉了。

总结

当然,就算不结对,很多问题,随着时间的流逝,最后也能解决,也能发现并做出改变,但是时间花费了太多,成长自然就会慢一些。

很多时候,我们都是遇到了问题才会去请教别人,没问题的时候就自己去做自己的事了,特别是写代码的时候,我们经常会沉浸在自己的世界里,如果你不知道有更好的方式、方法,不认为自己的方法有问题,或者没有人看到并提出质疑,我们就会自我感觉良好,继续按之前的方式去做事,这个时候我们也很难改变一些不好的习惯或者改变得比较慢。

所以,希望看到的小伙伴有空也可以去尝试一下结对编程,看看它是不是可以给你带来帮助。

「软件匠艺社区」旨在传播匠艺精神,通过分享好的「工作方式」,让帮助程序员更加快乐高效地编程!

我在技术上成长最快的时候就是在 ThoughtWorks 跟同事结对编程,学会了 TDD,重构,快捷键,Vim,Rails,Angular,Android ... 如果是自己一个人琢磨,不知道要多花多少时间。

最喜欢通过结对编程交流技术,好久不见的朋友,一见面就结对一下,看看对方的功力又长了几分,共同成长。 以至于后来组织了多次 Coding Dojo,Code Retreat 这样的结对编程活动。希望疫情早日结束,继续办这样的活动,让更多程序员体验结对,爱上结对!

哈哈,是的,希望疫情早日结束,继续这样的活动😀

You need to Sign in before reply, if you don't have an account, please Sign up first.