PlantUMLでレイアウトを調整するのは難しい。
高木です。おはようございます。
最近、しばらくぶりでPlantUMLを使っています。
こういうツールは特定のフェーズでしか使わないので、いつも使い方を忘れています。
今回も結構苦戦しました。
何に一番苦戦するかというと、レイアウトです。
クラス図やシーケンス図の内容ではなく、きれいにレイアウトするのが難しいのです。
こだわらなくてもいいのかもしれませんが、せっかく書くのだから、きれいに書きたいものです。
話が前後しますが、PlantUMLについて少しだけ説明しておきます。
PlantUMLというのは、UMLをテキストで記述できるツールです。
UMLがわからない人は勝手に調べてください。
UMLというのは図でソフトウェア(だけではないですが)の構造や流れを表現する方法です。
フローチャートやブロック図なんかと同じ仲間ですね。
UMLは便利なのですが、図なので書くのが面倒です。
仮に簡単に書けても、差分をとったりすることを考えると、やはりテキストで扱えた方が便利です。
そんなときに登場するのがPlantUMLです。
PlantUMLは(私が嫌いな)Javaで書かれたツールで、テキストで記述したファイルをUMLの画像に変換してくれます。
そんなPlantUMLですが、便利なんですがレイアウトが難しいのです。
ドキュメントを読むと、left, right, up, downなどを使ってレイアウトを調整するように書いているのですが、どうもうまくいきません。
そんなこんなでPlantUMLと格闘しているうちに、だんだんこのツールを作った人物の思考が見えてくるというものです。
どうも、left, right, up, downといった指定だけではレイアウトを制御しきれないようで、「クラス」や「関係」を記述する順番に依存するようです。
ちょっと考えれば、自分でこのツールを実装する場合でもそうするだろうとわかります。
このことに気づいてからは、以前よりずっとレイアウトの調整が楽になりました。
ただ、またしばらくブランクが空いたあとでは、このことを忘れてまた悩むんでしょうねえ。
だから、こうしてブログに記録を残しているんです。