PlantUML でシーケンス図の記述を読みやすくしたい

GitBook で UML を書くときは PlantUML を使っています。

f:id:knt_mr:20190828132322p:plain

例えば、こういうシーケンス図を書きたい場合、PlantUML 概要には以下のような記述例が書かれています。

PlantUML 概要 - シーケンス図の構文と機能

@startuml

activate foo

foo -> bar: request
activate bar

bar -> baz: request
activate baz

baz -> baz: request
activate baz
deactivate baz

baz --> bar: response
deactivate baz

bar --> foo: response
deactivate bar

deactivate foo

@enduml

実際に図として出力したときは特に問題ないのですが、Markdown のテキストだけを見た場合、呼び出しの階層がイマイチ分かりづらいです。エディタ上で Side-By-Side でプレビューできるならそれでいいですが、例えば、この UMLGitHub 上でレビューするとなるとプレビューは使えません。あと、空行が多くなると縦に長くなるのが個人的にあまり好みじゃないです。

なので、こういう書き方はどうだろうということで、呼び出しごとにインデントしてみました。コードっぽいし読みやすい。(気がする)

ただ、activatedeactivate の記述位置が悩ましい...。

@startuml
activate foo
  foo -> bar: request
  activate bar
    bar -> baz: request
    activate baz
      baz -> baz: request
      activate baz
      deactivate baz
    baz --> bar: response
    deactivate baz
  bar --> foo: response
  deactivate bar
deactivate foo
@enduml

現場からは以上です。