本周出于老师作业的要求,本周体验了一下结对编程,刚开始还觉得这没什么稀奇,一样都是编程嘛,体验了之后才知道结对编程的优点。
结对编程,从字面上讲,就是两个人一起编程。而1+1=?这个问题一直是一个疑问,可以大于2,可以等于2,可以小于2,从这次编程经历看来,结对编程(至少是我们这次结对编程),这个式子的答案应该是大于2.
关于结对编程的许多优点和好处,在邹欣老师的博客中http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html都可以看到,我也就不多说,我主要分享一下我对这次结对编程经历的感想。在结对编程中,一个程序员负责写代码,另一个负责检查代码错误,查阅必要资料等。这样的编程看似只有一个人写代码,效率不如两个人都写代码效率高,但事实是程序员往往会画更多时间去调bug,二一些bug往往是应为敲代码过程中的手误导致的,这种bug在另一个人帮忙检查时,往往会立刻被发现并纠正。比如在这次编程中,我们是用javascript和html编写生命游戏,在编程过程中,由于我们的数据表示需要对某个原来的矩阵加两行两列,所以经常有一些for循环的次数写错。这种错误往往很难被正在写代码的程序员发现,而旁边检查的程序员却可以发现这种bug(个人就发现了几个)。还有就是写代码的程序员有时候思路会紊乱而旁边检查的程序员思路相对清楚(毕竟注意的焦点不同),所以旁边的程序员还能起到提示作用,这些都是结对编程才能实现的,也是结对相对于两个人各编各的代码这种方式的好处。
结对编程还能减轻程序员的负担,一个人写完完整的代码,往往会很累,最后bug频出,但是结对编程中,在适当时候两个人可以互换角色,这样写代码的任务就被分给了两个人,也减少了bug率,这次编程我感觉bug出现得比平时少很多,基本功能的编写时间也少了很多。而且本人其实是第一次写javascript程序,但是在队友的帮助下,感觉对这种语言并不是那么陌生,学到了很多东西。
总之,结对编程减少了程序bug出现的频率,还减少了程序员的负担,更有助于程序员的互相学习,大家不妨一试。
注:这是本人第一次写博客,可能写的文章很糟糕,大家不喜勿喷。