AIが生む構造的腐敗をスコアリングするマージゲート「ImpactGate」
ImpactGate: A merge gate that scores the structural decay AI adds
ImpactGateは、変更が既存構造に与える複雑性の蓄積をスコア化するマージゲートだ。変更ファイル数、既存のWMC、循環的複雑度、変更行数から影響度を算出し、閾値を超えると警告またはブロックする。プロジェクト履歴から分布を構築し、パーセンタイルで評価する機能も備える。CLI、pre-commitフック、GitHub Actions、GitLab CI、Jenkinsで利用可能。
すでに重いクラスに積み上げるのは高くつく。それが腐敗のシグナルだ。
HNでの議論
44- MichaelNolan
見落としていたかもしれないけど、これには単一の指標しかないように見える。新しいプロジェクトを作る代わりに、この指標を既存のツール、例えば https://dekobon.github.io/big-code-analysis/index.html に追加してもらうよう働きかけてみてはどうだろう?あれにはすでに何十もの指標がある。
- appleappleapple
いいアイデアだね。うちの新しいCTOがサイクロマティック複雑度を分析するために自作したツールを持ち込んだけど、AIを積極的に活用している現場なので役立っているよ。
ちなみに、コメントがフラグ立てられて削除されるのを避けたければ、自分で書くことだね!AIにオフショアするのは魅力的に思えるけど(特にプロジェクト全体をバイブコーディングした後ならなおさら)、本物の人間のコミュニケーションには大きな価値があるよ。
- Lerc
一度見つければ明らかな一行バグに対する一連の修正には、どんなスコアがつくんだろう?
AIの変更はすべて複雑さを増し、品質を下げるという含意があるけれど、品質や複雑さはコードの性質であって書き手の性質ではないのは明らかだから、同等の変更なら誰が書いたかに関わらず同じ評価になるべきだ。
何かをよりシンプルに、しかもより機能的にするような明らかな改善は、このシステムではどう評価されるんだろう?
- VladVladikoff
この投稿のタイトルで「ゲート」が使われすぎているのを見ると、マーケティング部分も含めて全部バイブコーディングで作られたんじゃないかと思えてくる。
- EliasWatson
これはどの言語をサポートしているんだろう?おそらくPythonだけだと思うけど、どこかに書いてあると嬉しいな。