0

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

我想知道,是否可以使用 SVN 或 GIT 存储库来计算或估计实际完成了多少实际工作?比如找出两个修订版或给定时间段之间的差异,并对已完成的工作进行总结/概述?

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

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

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

4

4 回答 4

3

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

不过,一些存储库管理器中几乎没有图形化的东西。例如,Redmine 可以为您提供一个图表,告诉您一个人做了多少更改以及更改了多少代码。

于 2010-08-24T20:34:29.600 回答
2

这看起来像是一个典型的案例,人们希望使用工具来避免处理人际关系。

我坚信不会有什么好结果。人们会按照他们被衡量的方式行事。当使用添加的代码行等简单指标时,您将获得大量代码。但是,您会劝阻通常会减少代码的重构工作!

如果计算更改的行数,则代码库的重新格式化将在监控工作中抛出一个扳手,并将对开发团队的其他成员进行打勾。

如果生产线发生变化而与空间无关,那么您只是在滑坡上迈出了第一步,最终将花费更多的精力来监控生产力而不是生产产品。

我推荐的是监控交付的功能和 QA-d、代码审查、每周一对一、测量会议期间的存在和输入,以及询问同行的输入。

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

于 2010-08-24T20:37:13.173 回答
2

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

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

于 2010-08-24T20:46:05.727 回答
0

您可以查看StatSVN

结合 check ins 和 svn blame 的一些随机差异,您可能会有所感觉。

于 2010-08-24T20:36:24.343 回答