はじめに

Dartのコードからクラス図を自動生成できないか調べたところ
最適なパッケージを発見したので、ご紹介したいと思います。

利用したパッケージ

dcdg

概要
Dartのコードからリバースエンジニアリングしてクラス図を自動生成できる。

メモ
日本語の紹介記事が見当たらなかったのですが、以下を参考にして使ってみました。
個人的には2つ目の方(動画)がわかりやすかったです。

使ってみた

今回はFlutterのサンプルプログラムを使ってクラス図の自動生成を試してみます。

手順

1. 対象のプロジェクトで以下を入力し、dcdgパッケージを追加

flutter pub add dcdg

2. pubspec.yamlに以下の記載が追加されている事を確認

dependencies:
  dcdg: ^4.1.0

3. パッケージをインストール

flutter pub get

4. main.dartに以下のimport文を追加

import 'package:dcdg/dcdg.dart';

5. 自動生成のコマンドを実行

flutter pub global run dcdg

以上で完了です!

確認

コマンドラインにPlantUMLで出力されていると思います。

PlantUML Editorを使って可視化してみましょう

クラス図の完成です!

最後に

今回はdcdgというパッケージでクラス図を自動生成してみました。
色々なPJに参画しましたが、クラス図を定期的に更新してる(そもそも作ってる)PJはほとんど遭遇しなかったので
途中から参画した場合にクラス図を利用して、プログラムの全体像を確認する事は個人的に良いかなと感じました。