分析SVN / GIT回购以确定实际完成了多少工作?

时间:2010-08-24 20:27:19

标签: svn git time repository billing

我的一个客户正在使用一个州外程序员来完成一个项目。他无法弄清楚程序员实际做了多少工作,所以他担心钱可能会流失。

我想知道的是,是否可以使用SVN或GIT存储库来计算或估算实际工作量?有什么比如找到两个修订版或给定时间段之间的差异并给出完成工作的摘要/概述?

显然,您可以简单地向某些代码添加或删除空格,SVN会在提交时将其视为更改,但这并不意味着任何工作都已完成。也许有一些方法或脚本可以考虑所有这些因素,也许可以分析文件大小等方面的差异,并确定完成了哪些工作。

当然,您可以手动检查修订版本并对它们运行差异,但是能够获得更多有关所有内容的摘要会更有帮助。

无论如何,那里有这样的东西吗?

4 个答案:

答案 0 :(得分:3)

分析存储库的唯一事情就是告诉你代码被更改了多少。您需要另一位程序员来查看它,以便真正告诉您这些更改需要做多少工作。 一个小提交可能需要大量的思考,而大型提交真的很容易,因为它只是程序的一个简单部分。

但是,某些存储库管理器内置的图形内容很少。例如,Redmine可以为您提供一个图表,告诉您一个人做了多少更改以及更改了多少代码。

答案 1 :(得分:2)

这看起来像人们想要使用工具来避免处理个人关系的典型案例。

我坚信这不会有任何好处。人们会按照他们的衡量标准行事。当使用添加的代码行的简单指标时,您将获得大量代码。但是,您将劝阻通常会减少代码的重构工作!

如果计算了更改的行,则代码库的重新格式化将在监视工作中引入一个扳手,并且将对开发团队的其余部分进行滴答。

如果线路发生变化而不考虑空间,那么您刚刚在滑坡上设置了第一步,这将最终花费在监控生产力上而不是生产产品上。

我建议监控所提供的功能和QA-d,代码审查,每周一对一,在会议期间测量在场和输入,以及询问同伴输入。

话虽如此,我认为Sonar是监控进度和质量指标的非常好的工具。但是很难用来瞄准个人。

答案 2 :(得分:2)

没有任何软件能够满足您的要求。你可以找到分析提交大小的事情以及这些提交的频率,但是没有软件可以将这些数字转化为开发人员所做的工作量。

客户应该坚持敏捷开发过程,程序员定期进行演进或与客户讨论他们对开发和业务逻辑的任何担忧。

答案 3 :(得分:0)

您可以查看StatSVN

结合检查ins和svn blame的一些随机差异,你可能会有一种感觉。