GoでClean Architectureのレイヤーを静的解析する方法についてのメモ。
静的解析のツールを自作しても良かったが、簡単に導入できるツールがあったのでこちらを使ってみた。
自作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に限らず、特定のレイヤーの構造を維持していきたいのであれば積極的にこういったツールを自作していくのが良さそう。
関連書籍