结对编程是两个程序员在一台计算机上一起工作。一个编写代码,另一个观察并提供建议。它经常被誉为敏捷软件开发的关键部分。我觉得是';太可怕了。
让';让我们从经济学开始。因为我们雇佣两个程序员同时在同一个键盘上工作,所以成对编程的输出必须大于单个程序员输出的2倍才有意义。
我';d认为结对编程不是';这不仅无效,而且有害。结对程序员往往会给出反馈';这在设计或代码评审中更合适。在编写任何代码之前,都应该同意总体策略。对于遵循这一点的配对,唯一的反馈是';s的左边倾向于骑自行车或风格,这两种都会扼杀速度。它';这就像有个后座司机。更不用说大多数开发人员所期待的流状态了。
配对往往退化到最小公分母性能。与新手配对的专家需要像新手一样慢。虽然结对编程作为一种教学工具可能会实现一些目标,但团队成员之间有更多时间和成本效益高的方法来分享知识。
代码评审、设计评审和通用文档等替代方案是更好的一对n方式来分享知识,而不是一对一。此外,这些替代方案中的大多数都可以异步完成。如果你';如果你想提升你的代码审查过程,请查看我在代码审查中寻找的十件事。
附录:随着CRDT和远程IDE的激增,可能会出现';这是协作编写代码的未来。也许像GitHub Copilot这样的人工智能代码建议也起到了作用。就我个人而言,我不';我看不出谷歌的文档,比如代码上的实时协作,现在可能有那么大的用处。但如果它是有效的,它仍然必须看起来与当今的结对编程有很大不同。