コードブロートトリアージ は何をしますか?
目的
正確性、必要な障害処理、アクセシビリティ、セキュリティ、証拠、保守性を犠牲にすることなく、根拠のない複雑さを削減します。
トリアージワークフロー
- 実際のユーザー向け要件または研究要件と、それをサポートするテストを特定します。機能性と安全性を制約として扱います。
- ブロート候補を棚卸しします:重複ロジック、デッドブランチ、未使用の依存関係、不必要な層、推測的な設定、冗長なラッパー、過剰に大きな生成ファイル。
- 意味のあるものだけを測定します:認知的複雑さ、導入された依存関係、コードの変更量、重複カバレッジ、レビュー負荷、安定性。コード行数だけでは品質指標になりません。
- 各候補について、このコードはどの要件または障害をサポートしているのか? と問いかけます。証拠までトレースし、たとえ冗長でも必要なら保持します。
- 変更は未使用の削除、重複の統合、抽象化の簡略化、ホットパスの最適化の順序で行います。1つの局所的な修正で十分な場合に、広範囲にわたる書き換えは避けます。
- テスト下で最小限の可逆的変更を行い、正常系テストと回帰テストを実施します。動作と外部から観測可能な契約を維持します。
- 利点とトレードオフを報告します。削除によってカバレッジが低下したり動作が不明瞭になる場合、その簡略化はマージしません。
ガードレール
ファイル数を減らすためだけに、研究の来歴、検証、承認境界、セキュリティチェック、既知の障害例を削除しないでください。小さな機能のために根拠のない新しいライブラリを導入しないでください。リファクタリングというラベルの下で、凍結されたベンチマークのセマンティクスを変更しないでください。
出力
候補、理由、証拠、変更リスク、保持されたセーフガードを含む決定台帳。
成功基準
レビュアーが各削除を正当化でき、サポートされる動作と信頼境界が変更されていないことを確認できること。