V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
artwalk
V2EX  ›  程序员

结对编程 是神马样纸的?

  •  
  •   artwalk · 2014-05-09 10:15:32 +08:00 · 5338 次点击
    这是一个创建于 3880 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前看过 解析极限编程 : 拥抱变化
    但都是一些概念,没实际见过
    另外现实与理想是有差距的

    所以接地气后是啥样纸的呢?

    如果真的可行的话,
    感觉小伙伴们可以在线下去 KFC 之类的(吃饭多方便)搞搞呢

    PS:禁止歪楼!!!
    39 条回复    2021-05-26 14:44:41 +08:00
    se77en
        1
    se77en  
       2014-05-09 10:33:30 +08:00   ❤️ 1
    Ken 说我觉得 B 语言写 Unix 不太好使,Dennis 说那我给你整个新语言吧,几个月后,用 C 重写的 Unix 诞生了。

    N 年后,Dennis 已经西去

    Rob 对 Ken 说,我觉得 C艹 太淡腾了,Ken 说我也这么觉得,要不一起搞个新语言吧,于是 Go 诞生了。
    allenforrest
        2
    allenforrest  
       2014-05-09 10:35:08 +08:00   ❤️ 1
    2010年在公司刚推行 Scrum 的时候做过敏捷教练,推行过一段时间的 Pair Programming 实践。

    没什么特别的,就是两个人用一台电脑,一个人 coding,一个人在旁边看,随时提出 comments,随时讨论;过一小时后,换另一个人 coding,原来的人在旁边看,随时提出 comments,随时讨论。

    两个人在这段 PP 的时间内,实际上是在合作完成一块代码。

    总最终 Scrum 的各项实践的执行效果来看,PP 几乎是争议最大的,因为涉及到很多 PP 组合中人和人的性格差异问题、人和人的技术能力差异问题、人和人的心态开放性差异问题。

    在后续的项目中,逐步取消了 PP 作为强制实践活动的要求,鼓励团队成员自由组合,但是不做项目上的强制安排和要求。
    tobyzw
        3
    tobyzw  
       2014-05-09 10:55:07 +08:00
    两个好基友一起打码
    zhujinliang
        4
    zhujinliang  
       2014-05-09 11:06:21 +08:00
    瞬间联想到了 EVA Q 四手联弹的场景
    kxxoling
        5
    kxxoling  
       2014-05-09 11:30:42 +08:00
    我想到了这个: http://www.vaikan.com/spooning/
    Shieffan
        6
    Shieffan  
       2014-05-09 11:32:42 +08:00 via iPhone
    面向妹子编程多好
    nybux
        7
    nybux  
       2014-05-09 11:34:42 +08:00
    上班不能看帖子,聊QQ,效率自然就提高了。。。。
    wangccddaa
        8
    wangccddaa  
       2014-05-09 11:38:07 +08:00
    当初我还是实习生的时候,参加过一段结对编程,那是一段不堪回首的往事~
    大约四年前吧,在一家公司实习,因为是第一批实习生,所以给我们每个人配了一台mac 一体机,那个时候算高大上了,后来因为公司的快速扩张,就又招聘了一批实习生,但是当他们来得时候发现没有机器了,预算好像还没批,然后就做了个大胆的决定:结对编程,
    就这样把机器的钱省下来了
    钱省下了
    省下了
    下了

    ....
    iptux
        9
    iptux  
       2014-05-09 11:47:25 +08:00




    lingo
        10
    lingo  
       2014-05-09 13:06:29 +08:00
    LS结贴。
    madeinclojure
        11
    madeinclojure  
       2014-05-09 13:11:22 +08:00
    偶尔需要
    imskull
        12
    imskull  
       2014-05-09 13:25:10 +08:00   ❤️ 2
    我一向以为敏捷开发,结对编程这些都是由一两个“专家”鼓吹出来的东西,而这些专家的主要收入是出书和做咨询,实践上基本用处为零。
    chrishine
        13
    chrishine  
       2014-05-09 13:27:51 +08:00
    可以一台电脑,必须两个键盘.
    可以是笔记本,但是必须外接一个大显示器.
    结对(老鸟)带新人,新人学的快一些.
    小明只有1.4M,听说站在台阶上就可以比小明高了,然后他捡了一块石头站在上面发现还是比小明矮了好几个头.那明显是(石头)硬件问题,不是方法问题.
    artwalk
        14
    artwalk  
    OP
       2014-05-09 14:01:51 +08:00
    @kxxoling 哈哈,我就猜到会是酱紫

    @allenforrest 还真有公司这样安排啊?BOSS 不会认为拿两个人的钱,干一个人的活?

    @iptux 真相

    @wangccddaa 成了几对?


    @imskull 所以我想看看真正的结对是啥样的
    allenforrest
        15
    allenforrest  
       2014-05-09 14:20:19 +08:00
    @artwalk 那不至于,PP 在合理搭配的情况下,会明显提升质量,这个成本的节省是可观的。
    love
        16
    love  
       2014-05-09 14:20:42 +08:00
    如果不结对,一个程序员一天50%时间花在发呆/浏览微博/看无关的网页之类的事上,而结对之后你还怎么发呆啊?
    所以后结对编程效率大好:)
    alsotang
        17
    alsotang  
       2014-05-09 14:27:19 +08:00
    @love 正解。
    artwalk
        18
    artwalk  
    OP
       2014-05-09 14:32:21 +08:00
    @allenforrest
    @love
    @alsotang

    这得看老板有没有这个觉悟啊
    Nerrsoft
        19
    Nerrsoft  
       2014-05-09 14:41:20 +08:00
    @love 可是结对的效率 > 50% + 50% 吗?
    Linxing
        20
    Linxing  
       2014-05-09 15:04:42 +08:00
    结对编程应该还是一个人主要在写吧,另外一个在看,顺带review code吧
    love
        21
    love  
       2014-05-09 15:47:55 +08:00
    @Nerrsoft 一个人在写代码的时候另一个人又不是在发呆,这是发挥了100%+100%的效率
    shoumu
        22
    shoumu  
       2014-05-09 16:14:30 +08:00
    artwalk
        23
    artwalk  
    OP
       2014-05-09 16:54:29 +08:00
    @love 不止,如果两个人是认真的,( →_→ )我是指增大了 bug 及早发现的概率,效率就不止 200% 那种简单的叠加了


    @shoumu Thx
    lliioogg
        24
    lliioogg  
       2014-05-09 17:00:16 +08:00
    要是一男一女我能接受
    Alex_L
        25
    Alex_L  
       2014-05-09 18:08:38 +08:00
    如果两人水平差不多的话,一般是A先写测试 -> B写实现 -> A试图重构的 -> B写测试...的循环,一个小时能switch几次到十几次吧。

    如果两人水平相差较大,或是刚加入对项目不了解,一般由junior的人做driver主控键盘,senior的人做navigater给予指导。虽然开始慢些,但junior的人能尽快上手。senior的人自己drive键盘自己讲,让junior的人在旁边干瞪眼,效果很差。

    switch频率在半小时以上双方效率都会降低。

    但不管用什么方式,不用双显示器双键盘的都不叫结对,叫耍流氓。
    shichimiya
        26
    shichimiya  
       2014-05-09 19:07:25 +08:00   ❤️ 1
    XadillaX
        27
    XadillaX  
       2014-05-09 19:50:20 +08:00
    @iptux 目测电脑Y400?
    xmuxsp
        28
    xmuxsp  
       2014-05-09 20:10:47 +08:00
    @shichimiya 好贱的视频....
    RIcter
        29
    RIcter  
       2014-05-09 20:28:54 +08:00
    我和@Madimo 干过这种事。。

    @Cee 我们结对吧
    mengzhuo
        30
    mengzhuo  
       2014-05-09 21:07:45 +08:00
    嗯……我司是用tmux双机结对的……
    Madimo
        31
    Madimo  
       2014-05-09 22:11:38 +08:00
    @RIcter 明明每次都是你看着我写代码 。。
    ffts
        32
    ffts  
       2014-05-09 22:13:37 +08:00
    我之前还以为结对编程就是两个人合作,这看了之后发现就是一心同体啊
    superbear
        33
    superbear  
       2014-05-09 22:58:39 +08:00
    @iptux 有图有真相
    openroc
        34
    openroc  
       2014-05-09 23:13:15 +08:00
    好基友,没搞头;换成和妹子pair的话,就不一样了。。。
    openroc
        35
    openroc  
       2014-05-09 23:15:10 +08:00
    补充一下,强烈建议3p, 要和2个ppmm组队,hoho
    baocaixiong
        36
    baocaixiong  
       2014-05-09 23:44:41 +08:00
    @iptux SinaAppEngine的马甲么?
    realgreenzb
        37
    realgreenzb  
       2014-05-10 08:53:47 +08:00
    有个软件叫 screenhero,用来做结对编程和远程协助都很不错。大家可以试试玩。
    http://www.36kr.com/p/201065.html
    lixiaolin
        38
    lixiaolin  
       2021-02-18 14:30:29 +08:00
    lulu7
        39
    lulu7  
       2021-05-26 14:44:41 +08:00
    软件研发过程中,结对编程模式越来越受到青睐。什么是结对编程呢?也就是两位程序员坐在一起,共同写代码完成一个功能。

    当一位程序员写代码时,很容易受到外界因素干扰,面对代码困惑犹豫不决,或者很容易快速做出错误的决定,最后束手无策甚至推倒重来。如果两位程序员一起写代码,可以一起进入专注的状态,一个口述,一个敲代码,期间可交换角色交替进行。能够快速响应代码出现的问题,还能减少 bug 的产生,写出的代码质量也更高,这就是结对编程。

    但两个程序员一起写代码,往往会擦出很多火花……结对编程的过程中,到底有多少故事呢?我们制作了结对编程的小视频,乐趣与干货并存,感兴趣的朋友,可以来看下。

    https://www.zentao.net/redirect-index-19045.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2726 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:00 · PVG 23:00 · LAX 07:00 · JFK 10:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.