開発ログ: 問題ブロックエディタを実運用レベルへ育てた時期

2024-05〜08 に、問題ブロックエディタの機能追加と状態管理の整理を並行して進め、連続編集で崩れない状態へ寄せた実装ログです。

はじめに

記録時点: 2024-05〜2024-08

この時期は、問題ブロックエディタを「作れる」から「回せる」へ引き上げるフェーズでした。 一番の論点は、機能の数ではなく連続操作時の安定性です。

当時の詰まり方

単発操作だと問題なく見えるのに、連続操作で崩れる不具合が多発していました。

  • ブロック追加後に別ブロックを選ぶと、選択状態が飛ぶ
  • 並び替え直後に保存すると、表示順と保存順がずれる
  • 削除と追加を続けると、一部の入力値が古い状態に戻る

この手の不具合は再現手順が長く、報告だけでは原因が見えません。

効いたのは「責務分離」の徹底

途中で、状態管理の方針を明確に切り替えました。

  • 操作中に変わる表示状態
  • 保存時に使う確定状態

この2つを同じ経路で更新していたのが崩れの原因だったため、更新責務を分離しています。 これで、途中状態が保存へ混ざる事故をかなり抑えられました。

画面導線は後追いではなく同時に直した

機能追加を優先しすぎると、編集速度は上がりません。 この時期は、機能追加と同じ優先度で導線を調整しました。

  • 選択中ブロックの見え方
  • サイドパネルの切り替え手順
  • ブロック操作の手数

見た目の微調整に見えますが、連続編集の体感はここで大きく変わります。

見送った案

1. 早い段階で全面的に再設計する

全面再設計は筋がよい一方、開発を止める期間が長くなります。 当時は機能追加を止めない条件があったため、段階的な置き換えを選びました。

2. 画面ごとの局所修正を積み上げる

短期では速いですが、結局別箇所で同じ崩れが出るため、責務分離を優先しました。

回帰で固定した観点

  • 追加→編集→並び替え→保存を連続で実行しても崩れない
  • ブロック種別が混在しても選択状態が飛ばない
  • 保存後の再読込で表示とデータが一致する

単発の成功ではなく、連続操作で壊れないことを基準にしました。

まとめ

このフェーズでやったのは、機能拡張よりも編集基盤の整備です。 状態管理の責務を切り分け、導線を同時に整えたことで、後続機能の追加でも崩れにくいエディタにできました。

公開リンク