Drupalコアのコード複雑度を測定する

vibe-coding-van
目次

この記事は Dries Buytaert の公式ブログ「dri.es」の翻訳記事です。Driesブログの記事一覧よりすべての翻訳記事をご覧いただけます。

Drupalコアのコード品質を時系列で追跡するダッシュボードを構築しました。Drupal 7からDrupal 11までの主要リリースを対象としています。コード行数、循環的複雑度、保守性指標、アンチパターン、API表面積を測定します。Drupalのコードベースの健康診断レポートのようなものだと考えてください。

ダッシュボードは自動的に更新され、https://dbuytaert.github.io/drupal-core-metrics/で利用できます。

チャートは、着実で苦労して勝ち取った進歩の明確なストーリーを語っています。誇りに思い、共有する価値のあるストーリーです。コード品質はDrupal 7の頃と比べて劇的に改善されています。複雑度の低下、保守性の向上、アンチパターンの減少、そしてテストカバレッジの劇的な改善。Drupalは現在、本番コードのほぼ2倍のテストコードを持っています!

DrupalコアのAPI表面も近代化されました。Drupalが手続き型からオブジェクト指向パターンに移行するにつれて、グローバルな手続き型関数は、インターフェースメソッド、サービス、プラグイン、イベントを実装するクラスに取って代わられました。

これらのメトリクスを公開で追跡することで、コード品質と開発者体験の両方に関する意思決定に役立つことを願っています。複雑なコードをリファクタリングする際に、その影響を測定できます。目標を設定し、進捗を追跡できます。

すべてのチャートは静的コード解析を使用しています。静的解析ではDrupalを学ぶ体験を測定することはできませんが、それを示唆することはできます。次のステップとして、開発者体験をより直接的に測定したいと思います。動的解析が役立つでしょう。例えば、コールスタックの深さや、簡単な変更を行うためにどれだけのファイルやAPIに触れる必要があるかを追跡することで。

ダッシュボードはオープンソースで、https://github.com/dbuytaert/drupal-core-metricsでコントリビューションを歓迎しています。

複数回のフィードバックをくれたcatchに特別な感謝を。過去12ヶ月で最もアクティブなコアコミッターとして、彼の意見は非常に貴重でした。

By Dries Buytaert

この記事は「Measuring Drupal core code complexity」(投稿日:2026-01-07)の翻訳記事です。

カテゴリ