GoでClean Architectureのレイヤーを静的解析する

アプリケーション

概要

GoでClean Architectureのレイヤーを静的解析する方法についてのメモ。

go-cleanarchを使う

静的解析のツールを自作しても良かったが、簡単に導入できるツールがあったのでこちらを使ってみた。

roblaszczak/go-cleanarch

自作CMSのgobel-apiに導入してみた。 cf. PR

go install github.com/roblaszczak/go-cleanarch@latestでインストール。

レイヤーのネーミングがデフォルトと異なるので、オプションをつけてチェック実行。 go-cleanarch -application usecase

レイヤーの依存関係に違反するとチェックに引っかかってエラーになる。

エラーになると、Uncle Bob is not happy.と怒られる。

所感

そのうち自作したいと思っているが当分はこのツールにお世話になりたい。

アプリケーションの設計、構造を保守していくためにこういった静的解析ツールは早い段階から導入すべきだと思った。

Goなら静的解析のツールが実装しやすいと思うので、Clean Architectureに限らず、特定のレイヤーの構造を維持していきたいのであれば積極的にこういったツールを自作していくのが良さそう。


関連書籍