6

我知道有一些事情,比如进行手动检查,以确保提交的代码基本上是正确的。但除此之外呢?我问的原因是因为一个大项目每天都有很多提交。

4

9 回答 9

6

一般来说,提交通知很有用,因此您可以了解代码中每天发生的事情。例如,我知道何时实现了一项新功能,或者签入了一个错误修复。如果提交太多以至于这在噪音中丢失了,那么可能值得过滤或减少您看到的提交消息的数量(也许例如,您可以将其仅限于您工作的特定模块)。

话虽如此,除了让其他开发人员有机会至少粗略地审查代码之外,它还可以通知人们:

  • 现在是从源代码管理运行更新并在需要时合并任何新更改的好时机
  • 嘿,有人在 Foo 中发现了一个正则表达式解析错误,但忘记用它更新 Bar
  • 哦,Bob 正在开发 Baz 模块,我应该让他也看看这个

你明白了。基本上,它的目的是帮助提高整个团队的透明度,不仅仅是让更多人关注提交,而是改善整个团队的开发周期。

于 2008-10-10T01:18:22.487 回答
4

如果有人对您自己可能正在处理的一个或多个程序进行更改,这可能会很有用。如果您愿意,请注意,您可能需要解决一些可能需要进一步沟通的冲突。

我见过程序员 A 提交了一些更改然后几天后去度假的情况。程序员 B 也在开发相同的程序,并且在程序员 B 提交更改时发生了一些冲突。通常这没什么大不了的,而且团队成员之间应该始终保持开放的沟通。在这种情况下,程序员 B 对程序员 A 所做的更改有一些疑问,但不得不等待一周,直到该程序员回来。在这种情况下,一封提醒电子邮件,甚至是自动生成的电子邮件,都会有所帮助。

只是我的两分钱。

于 2008-10-10T01:25:23.580 回答
4

在收到签到通知时,上面提到的许多事情都很有用。我通常将它用于几件事:

  • 如果项目以某种方式中断,有时我可以更快地解决问题,因为我已经知道已经进入系统的签入。它可能会更快地为我指出解决方案
  • 它提供了一组易于搜索的签到(至少因为我在电子邮件中收到它们)。是的,您的源代码控制系统拥有所有这些信息,但搜索整个签入注释可能并不容易。使用电子邮件,我很容易返回并搜索用户、模块、关键字等,然后让 Outlook 提取相关电子邮件。
  • 我可以轻松地跟踪年轻的开发人员以及他们在做什么。它让我有机会了解他们何时签入代码以及他们对代码做了什么。它提供了在代码审查等其他定期安排的事情之外进行指导的持续机会。
  • 它为团队提供了一种跟踪进度并记录他们何时可能签入冲突的方法。

即使有很多通知,我也不觉得必须完整阅读它们。我略读了一堆,但这足以让我在需要更多信息时回到适当的提交。

于 2008-10-10T01:50:30.003 回答
2

当然,您想观察一下被放入的代码,这样您就知道团队中的其他人在做什么,而且您不会仅仅在编写代码时陷入困境。

即使您没有监控代码的质量,您也可以了解其他人在做什么。

它有助于建立团队。

于 2008-10-10T01:16:05.097 回答
0

我发现它主要用于跟踪。通常,此类自动通知会被过滤到我的邮件中的存储桶中,以及“smoketest pass,smoketest failed”类型的电子邮件......然后当出现故障时,您可以相当直接地将其追溯到签入集。

请注意,人们也可以通过签入曲线的形状来直观地了解项目的成熟度——每天更改的代码行数是代码库总大小的函数。它实际上确实给出了一个合理的想法,告诉你什么时候“完成”......

希望这可以帮助!

于 2008-10-10T01:15:33.803 回答
0

通常我们有更新让每个人都知道有些东西已经更新并且需要同行评审。如果您不必分配一个用户,您可以得到它并在有时间时处理它。

我看到有人发布了一个系统,当他们在代码样式注释日志中提交快速简单的“发生了什么变化”时,该系统会向 Yammer 发送 twitter 样式消息。整洁的。不过现在找不到链接了。

于 2008-10-10T01:18:06.683 回答
0

在许多公司中,代码审查是强制性的,但在荣誉系统中完成。电子邮件提交通知为这些环境实施“信任但验证”机制。

于 2008-10-10T02:35:13.643 回答
0

我主要用它来衡量项目的心跳。每个提交消息都是一个脉冲。随着时间的推移,您会对“正常”脉冲“听起来”的样子有所了解。

在正常的一天,我们会收到 4 到 6 条提交消息。随着迭代日期的到来并在迭代发布前几天停止,这会减慢到 1 或 2。迭代后一两天,它又开始恢复,如果发现错误,我们可以每小时收到 1 条提交消息,因为错误已得到修复。提交数量很少的常规日子可能意味着开发人员在某些功能上遇到困难,或者在 stackoverflow 上花费了太多时间。

我还发现信息丰富的提交消息非常有用。有时,经理或测试人员甚至不必询问开发人员功能或错误的状态 - 只需查看提交消息,看看是否有任何工作完成。

于 2008-10-10T02:57:23.020 回答
0

我的理解是,向开发人员抄送提交报告的主要原因是为了避免冲突:您会在正在使用的文件上看到提交,因此您甚至在提交之前就知道自己遇到了麻烦。但是,这会让人分心,因此有一些工具(例如,Palantir、旧的 IBM Jazz)可以实际向您显示正在同时编辑的文件。

于 2008-10-10T04:52:49.683 回答