「リアクティブ」ほんとに要る?
リアクティブは値の変化に対して、対応した処理を動かせることができる。これは直感的にはとても合理的であり、キレイな対応となっている。
実際、リアクティブに書くと処理が重複しにくかったり、値の変化に対して起こる動作がわかりやすく整理される、といった効果がある。
しかしながら、実際的にはリアクティブよりも地道な一本道コードのほうが最終的には保守しやすい、という話。 というものを書こうとしたけれども面倒になったので見出しだけ。
- 値に対してリアクティブに動作をさせないほうがいい
- ほんとうに、その動作は値に対してリアクティブか?
- 動作はアクションに紐付いている
- 真に値にリアクティブなのは Computed Value (Cache など) くらいでは?
- リアクティブなコードは暗黙知の温床
- コードから動作が「追えなく」なる
- 汚いコードより、非同期に動きまくるコードのほうがつらい(そもそも追えない)
- 暗黙知をより多く要求する
- というか本人しか読めない
- 前提知識なく読みやすいのはアクションから入り、一本道に処理が書かれるコード
- なんだかんだで、泥臭く一本道に実装したほうが良い
- 処理が重複したり、あちこちで状態もったりするのは設計/書き方で解決すべき話です。
ところで、なぜこのような結論(感想?)になるのかというと、既存のプログラミング言語が上から下に書かれ、処理もまたそうであるからです。
つらい。