現在はmachine view (モジュラーエディタ)の実装中。
とりあえず、画面へのMachine追加は完了。
Undo、Redoも可能となっている。
ここでの実装にhamigaki::coroutineを使用してみた。使用する必要はあまりないのだが、どうしてもこのライブラリを使ってみたかったのだ!
coroutineを使用すると、中断/再開のための状態変数を持たず、またそのための分岐を書かずに、本来書きたい手続きに近いコードを書くことができる。
コードの見通しが非常に良くなる。ただし、それなりに処理コストは必要だ。
実際に使ってみると、呼び出し側、コルーチン側もコードがすっきりし、読みやすくなった。