1

有没有办法以多数贡献者(作者)运行 Git 日志命令?我想将它与代码度量工具一起使用,以便能够从本质上显示每个贡献者生成的代码质量。

File       Author      Cyclomatic Complexity    LOC(Additions)   LOC(Deletions)
Test.js   "John Doe"            5                     20               12

另一个有趣的观点是能够总结

Author   CyclomaticComplexityAverage      LOC Per File   #Files Majority Contributor

James               4                          30                 75
Anne                8                          60                 20

此外,如果有一个 Git 工具利用 Microsoft Visual Studio 代码分析,使用http://msdn.microsoft.com/en-us/library/ms173498.aspx和 Git 日志或 Git 责备来获取每个作者,那将会很有趣指标。

在尝试识别弱点或优势以帮助改进团队成员并认可更高质量时,这将很有用。它也可以用来跟踪某人随着时间的推移而取得的进步。

我知道代码指标不一定是确定开发人员技能的准确方法,并且还有许多其他因素可以确定团队成员的贡献/技能。

4

1 回答 1

1

Git 是一个内容跟踪器,虽然每个 blob 都可以与作者相关联,但 git 没有任何规定可以方便地容纳您所追求的各种顶级软件指标。因此,您要么必须为内容构建自己的解析器,要么在一般情况下尝试实现的目标会遇到固有的困难,因为内容的 git 解释和呈现与您的目标不一致。

另外请记住,git 可以区分更改的作者和提交者(以及每个 blob),您必须考虑这一点,特别是如果可以通过项目中的补丁提交代码。

忽略作者和提交者之间的区别,您可以开箱即用地知道,

  • 使用文件中不同行的作者归属git blame -- /path/to/file(您随后可以按个人作者贡献过滤行)
  • 单个文件的历史记录git log -- /path/to/file(影响文件的提交)
  • 作者在分支中提交的历史git log -p --author=<name>

如果幸运的话,您可以将上述方法与后处理结合使用,为您的工具生成合理的输入,但我怀疑无论如何都需要大量的后处理。

于 2014-03-14T10:40:16.057 回答