科学&テクノロジー

azat-io/todoctor: 🐍 Git リポジトリ内の TODO コメントを追跡および視覚化し、レポートを作成する CLI ツール

10月 28, 2024 / nipponese

1730090838
2024-10-24 14:12:00

バージョン
GitHubライセンス

Todoctor は、Git を使用してコードベースの技術的負債を分析、追跡、視覚化するための強力なツールです。

収集して監視します TODO/FIXME コード内にコメントを追加すると、時間の経過に伴う変化を観察できます。

開発者はよく辞める TODO コード内のコメントを使用して、改善またはリファクタリングが必要な領域を強調表示します。ただし、これらのコメントが追跡システムのタスクに変換されることはほとんどありません。

その結果、Todo はコードベースに隠されたままになり、何年も注意されずにそこに放置され、隠れた作業の未処理が発生する可能性があります。このツールは、これらの Todo コメントを追跡し、忘れられるのを防ぎます。

  • 自動的に抽出します TODOFIXME、コードベースのその他のタグ。
  • Git が追跡する JavaScript および TypeScript プログラミング言語をサポートします。
  • 各コミットを分析してコメント履歴を収集および更新します。
  • と統合します git blame 変更の作成者とタイミングを追跡するため。
  • 変更履歴を視覚化して、技術的負債の増加または削減を分析します。

プロジェクトのルート ディレクトリでツールを実行します。

プログラムは自動的にデータを収集し、履歴を表示します。 TODO / FIXME コミット全体にわたるコメント。

ツールを実行すると、時間の経過に伴う TODO コメントの変化を示す詳細なグラフが生成されます。グラフは、プロジェクトの履歴全体で追加、解決、または変更された Todo コメントの数を視覚化します。

これは、技術的負債とメンテナンスの進行状況を一目で追跡するのに役立ちます。

Todoctor グラフの例

このツールは、グラフに加えて、次のような洞察力に富んだ統計を提供します。

  • todo コメントの総数。
  • 最年長のtodoの年齢。
  • すべての Todo の平均年齢。
  • todo コメント数が最も多い作者。

これらの洞察は、コードベースの状態をより深く理解し、リファクタリング作業に優先順位を付けるのに役立ちます。

Todoctor 情報の例

最後に、このツールはプロジェクト内のすべての Todo コメントの詳細なリストを表形式で生成します。

リストには、コメント テキスト、ファイル パス、および行番号や作成者情報などの追加のメタデータが含まれます。このリストは、未解決のタスクをより効果的に特定、確認、管理するのに役立ちます。

Todoctor リストの例

Todoctor は次のコマンドライン オプションをサポートしています。

リポジトリ内の TODO を追跡するときに含める月数を指定します。指定しない場合は、デフォルトで 3 か月になります。

例:

分析中に無視するファイルまたはディレクトリを指定できます。あなたの中のファイル .gitignore デフォルトでは無視されるため、追加で無視する必要はありません。このオプションは複数回使用できます。

例:

todoctor --ignore src/deprecated/ --ignore tests/legacy.test.js

技術的負債として扱われるコメント内に追加のキーワードを指定できます。このオプションは複数回使用できます。

例:

todoctor --include-keywords eslint-disable-next-line

レポートからキーワードを除外できます。デフォルトでは、次のキーワードが技術的負債コメントの定義に使用されます。

  • TODO
  • FIXME
  • XXX
  • HACK
  • BUG
  • OPTIMIZE
  • REFACTOR
  • TEMP
  • CHANGED
  • IDEA
  • NOTE
  • REVIEW
  • NB
  • QUESTION
  • DEBUG
  • KLUDGE
  • COMPAT
  • WARNING
  • DANGER
  • INFO
  • DEPRECATED
  • COMBAK

例:

todoctor --exclude-keywords WARNING --exclude-keywords DEPRECATED

レポート ファイルを保存するフォルダーを定義できます。デフォルトでは、 todoctor プロジェクトのルートにあるフォルダー。

例:

このヘルプ メッセージと利用可能なオプションを表示します。

Todoctor の現在のバージョンを表示します。

©付き アザット S.

#azatiotodoctor #Git #リポジトリ内の #TODO #コメントを追跡および視覚化しレポートを作成する #CLI #ツール