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

また、 http://msdn.microsoft.com/en-us/library/ms173498.aspxと Git ログまたは Git 非難を使用して作成者ごとに取得する Microsoft Visual Studio コード分析を活用した 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 に答える