Skip to content

metrics.aggregate が本番から呼ばれず、#933 の後の cross-refactoring の状態ファイルの形とも合わない #1601

Open

Description

@takemi-ohama

何を見つけたか

plugins/ndf/scripts/lib/metrics.py の aggregate(state) は、状態ファイルの rounds[] の impl / impl_model / reviewers / reviewer_models を読んで、実装担当とレビュー担当を「ランタイム × モデル」で集計する。しかし本番のコードはどこもこの関数を呼んでいない(develop(425820c72、ndf 10.18.0)で grep -rln "import metrics\|from metrics import" plugins/ndf --include=*.py をテストを除いて実行し、0 件)。呼び手はテストの plugins/ndf/scripts/tests/test_metrics.py と plugins/ndf/skills/cross-refactoring/tests/test_models_and_metrics.py だけである。同じモジュールの format_report も本番から呼ばれていない。

#933 の後の cross-refactoring の状態ファイルはラウンドを持たず、実装担当は最上位の implementer_model 1 つである。aggregate の前提にした形は、今の cross-refactoring の状態ファイルに存在しない。

どこで見つけたか

issue #759 の要求(issues/issue-759-requirements.md の前提 8)と設計の作業中。plugins/ndf/scripts/lib/metrics.py:42。

なぜこの変更の範囲外なのか

#759 の対象範囲の「含まない」に「ラウンドの形を前提にした metrics.aggregate の作り直し・削除」を置いた。#759 が直すのは実測値の取得と記録で、集計の関数の形は変えない(実測値を渡す引数の変更だけ追随する)。根拠: Value 6・Value 1(MVV 版 2)

直さないと何が起きるか

呼ばれない関数とそのテストが残り、変更のたびに追随の費用がかかる。読み手は「モデル別の集計はここで行っている」と誤って読む。

直し方

metrics.aggregate(と、それだけが使う format_report ほかの補助の関数)と、そのテストを消す。#759・#760(輪番と統計の鍵が「ランタイム × モデル」)はどちらも閉じており、作り直す呼び手は無い。

由来

issue #759

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: low文書のみ・低頻度など、余力があれば対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions