日本語

製品発表OfficeFloorImpactGate

AI支援開発における構造的なコードの劣化を測定・制限するImpactGateが登場

この記事は翻訳です。 原文を読む

OfficeFloorは、コードの変更によって導入される構造的な劣化を測定し、制限するために設計されたツール、ImpactGateをリリースしました。このツールは、ソフトウェア開発において増大している課題、すなわちAIによって促進される複雑性の蓄積に対処することを目指しています。この複雑性の蓄積は、人間にとってメンテナンスが不可能な「god methods(神メソッド)」や「god classes(神クラス)」を引き起こす可能性があります。

ImpactGateは、既存の構造に追加される複雑性の量に基づいて「変更インパクト(change-impact)」スコアを算出します。単純な行数ベースの指標とは異なり、この数式は対象となるコンテナに既に存在する複雑性を考慮に入れます。これは、新しいファイルを追加することは「低コスト」とみなされる一方で、既に複雑なクラスにロジックを追加することは「高コスト」とみなされることを意味します。この指標は、変更されたファイル数、Weighted Methods per Class (WMC)、循環的複雑度 (CC)、および変更された行数の組み合わせを使用しています。

このツールは、スタンドアロンのCLI、gitのpre-commitフック、またはGitHub、GitLab、JenkinsなどのCI/CDプラットフォームのプラグインなど、さまざまなワークフローに統合することが可能です。強制機能として、「影響を報告する(warn)」モードと、影響が定義された閾値を超えた場合にビルドを失敗させる「ブロックする(block)」モードの2つを提供しています。

プロジェクトの規模の違いを考慮して、ImpactGateは、プロジェクト自身の履歴の分布に対して変更のパーセンタイルを評価する「格付け」 特集 を提供しています。これにより、開発者は任意の絶対値ではなく、パーセンタイルに基づいて閾値を設定できるようになります。

このツールは、pip install impact-gate を介して、またはDockerイメージを通じて利用可能です。ImpactGateはリファクタリングを容易にするために複雑性がどこに集中しているかを特定しますが、開発者は、ImpactGateは構造的な劣化を測定するために設計されたものであり、ソフトウェアのバグを予測すると主張するものではないと述べています。

出典

  1. ImpactGate: A merge gate that scores the structural decay AI adds (Hacker News Frontpage, 2026-09-16)
  2. Website