単方向依存を実現する静的解析ライブラリのご紹介 by 川島慧

PHPerKaigi 2019
レギュラートーク 15分

単方向依存を実現する静的解析ライブラリのご紹介

nazonohito51 川島慧 nazonohito51
2

設計への意識の高まりとともに、クラスの依存関係をコントロールすることに関心を持つエンジニアが増えてきましたが、現状依存ルールを順守するには人間の目で確認せざるを得ません。
クラスの依存関係を人間の目で一瞥するのは基本的に難しく、うっかり循環依存になってしまってないかレビューするのも手間です。

そこでPHPStanをベースに依存関係を解析するライブラリを作成しました。
これによりルールの順守を機械的にチェックすることが可能になるほか、そのリポジトリの依存ルールを設定ファイルとして管理し、ルールを明示することができるようになります。

また全クラスの依存関係を解析してグラフ化することも可能(予定)ですので、初めて見るリポジトリを解析する時にその依存関係から大まかな構造を把握できるような使い道もあります。

今回はこのライブラリの紹介をさせていただければと思います。