繁体   English   中英

与不均​​匀的团队成员配对编程? [关闭]

[英]Pair Programming with an uneven number of team members? [closed]

最近,我们遇到了一个工作问题,如果一个人自己编写一些代码,似乎与其他团队成员一起看着它并且去“嗯?那个丑陋,难以管理,我需要重写那”

事实上,最近,我自己不得不重新考虑一周前写的东西,以便我能够添加我的(相关)功能。

我知道结对编程是实现这一目标的方法,但我们有一个不平衡的团队(3名成员)。 由于我们的团队目前正在努力推进,我们真的没有时间进行同行评审(尽管我们可以进行配对编程,因为我们可以将其估算到我们的任务估算中)

我只是好奇人们如何建议我们在生成糟糕的代码时克服这些问题。

当你单独工作,并生成你的同事发现丑陋和无法管理并需要重写的代码时,那么你:

(a)当你第二次看到它时,同意它们,

(b)不同意?

如果(a),那么问题在于你自己编写时没有完全澄清你的代码。 由于结对编程是唯一让你编写合适代码的东西,我想我会建议“奇怪的一个”应该适用于不涉及编写大量不良代码的任务:bug-hunting; 也许写出测试代码,因为这往往有点不那么恶魔了。 与此同时,努力提高您编写更好的代码的技能 - 也许几个月前对您自己的代码进行审核,并记下它的错误。

如果(b),那么你遇到的问题是表达你的想法的不相容的方式。 根据您的标准,代码可能并不坏,但这是相互不可理解的,在公司环境中这意味着代码不好。 结对编程意味着你所写的是一种妥协,你们3中有2人理解,但这不是真正的解决方案。 你需要就你对彼此的代码最困难的事情达成一些共识,并停止这样做。 你们都迫切需要开始考虑“代码质量”,“我的两个同事会喜欢这个代码”,而不是“我喜欢这个代码”。

无论哪种方式,您都需要为编写代码编写代码,而不是为了尽可能快地完成即时工作。 我个人通过尝试以我认为其他人可能表达和理解它们的方式来表达事物,而不仅仅是当时对我有意义的事情。 最终它变得习惯了。 当我编写代码时,我会为公众观众撰写代码,就像我正在为公众观众撰写这篇文章一样。 好吧,所以在我的个人项目中,有一群人像我一样思考,而在工作中,这是一个像我的同事一样思考的观众。 但原则是编写代码,好像有人正在阅读它。 你向他们解释自己,而不是编译器。

并不是说我的代码是世界上最好的,但我确实认为我的第一份工作是在一家拥有30多名程序员的公司中受益,所以我看到了各种各样的思考方式。 还有一些“不该做什么”的例子,其中一位程序员已经完成了其他任何人都无法轻易理解的事情,因此最终可能被认为是坏事。 只有3个人,目前尚不清楚2 v.1的意见是否意味着1是怪胎或合理的少数。 当我做了一些事情,4或5个人可以瞥一眼并立刻说“eeew,不要那样做”,然后我开始真的相信这只是一个愚蠢的想法。

我还建议,如果你不允许预算进行代码审查,撒谎和欺骗。 如果你正在大量重写别人的代码,那么无论如何你都会有时间去审查它,你只是没有提供反馈,这是代码审查中值得的部分。 因此,将评论隐藏在雷达之下 - 编写一个或三个函数,然后让同事查看它并立即给出关于它是否对它们有意义的反馈。 使用显示器上的代码,一旦完成它就有助于进行对话,但是当他们有“流”时,或者尝试不要打扰人,或者进入冗长的参数。 这不是结对编程,也不是正式的代码审查,但它可能会帮助你弄清楚你自己在做什么,这太糟糕了。

我很惊讶您没有时间进行同行评审,但您有时间进行配对编程。 后者不是更大的时间下沉吗?

我们这家公司只有三名开发人员,令我们惊讶的是,我们现在正在努力推进。 如果我建议配对编程,我很确定我的老板会嘲笑我,因为这会被视为任务的工时数加倍,即使在实践中这不是它应该产生的结果。 我们的同行评审不会超过一个小时,这是一个极端的情况。 平均而言,我会说它们可能大约是10分钟,而且每个开发人员一天只会发生一次或两次。

IMO你应该试试同行评审。 您经常发现有问题的人(即编写质量较低的代码的人)最终意识到他们需要付出更多努力,质量会随着时间的推移而提高。

如果您有三个开发人员并且每个人都认为其他人的代码不好,那么您迫切需要同行评审。

所以:

  • 你很努力
  • 你的代码质量很差

你认为这两者可能有关系吗? 答案是修复时间表。

一次配对所有三个。

设置一些编码标准。

为破解开发人员使用笨蛋帽。

执行每日站立会议以交流进度。

也请每周两次尝试同行评审,如周二和周五。

结对编程不必每天都是有效的。 我每周一起工作一两个小时就看到了很好的结果。 一种方法是将A和B配对一段时间,然后是A&C,然后是A&B ......两者之间有很多个人时间。

这也很大程度上取决于团队成员的个性和化学反应。 三者中的两个可能在一起非常好地工作,你想从中受益。

你仍然应该配对。 设置会话说每周1天并旋转对。 这应该让您的经理满意并提高代码质量,改善沟通。 如果您保持关于配对与单独编码中发生的故障数量的指标,您应该开始看到benfit并将其显示给您的经理,

例如,这需要x个工时,但在缺陷修复方面平均节省了一半。 此外,clode更清洁,下次我们触摸它时需要更少的时间来改变。

从那里你将有硬统计数据,你可以开始编码更多。

基本上你的故事似乎跟我的一样。

  1. 没时间做事。
  2. 错误发生了。
  3. 赶紧解决它(花更多的时间)
  4. 转到1

你需要停止腐烂。

  1. 代码评论
  2. 启用S​​tylecop将强制您编写可读,标准化和可管理的代码

我们使用代码审查。 此外还有一些单一任务:更改图表,安装一些东西......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM