逆に「宣言的に書けない」というのは、たぶん処理の順序を変えたら意味が変わってしまうみたいなやつじゃないかな
すなわち逐次的だと思うんだけど、あってるかな
「宣言的に書けるようにするコスト」とメリットを比べたら大して旨味がないんじゃないかとも思っていた
でもそうじゃないなと思えたのが画面のレイアウトだ
例えばiOSのAutolayoutは嫌いな人が多いが、あれは宣言的だ
順序に依存していない(そもそもInterfadeBuilder上に順序は存在しない)
最近あるプロジェクトでそれを使わず昔ながらの方法で書いているんだが
順序に依存しすぎていて非常に怖いし、頭を使うし、バグが多くなる
コードでも宣言的にレイアウトを組めるかもしれないが、多分かなり大変だ
宣言的に書ける仕組みを予め用意されているというのは大きなメリットを感じる
なぜレイアウトでそれを強く感じたかと言えば、view毎の依存関係が多いからだ
オブジェクト同士が1:1で依存していたり、1:2で依存していても「宣言的」に大した魅力を感じないのだが
1:3とか1:5とかなってくるとかなり魅力的にうつってくる
レイアウト以外でそういった過密依存を書くシーンはなんだろうね
例えばModelとか? あとはSingletonみたいなやつもか
まあ基本的に宣言的に書ければ、読む必要が減るので単純に楽ってのもあるんだけど
しかもちゃんと書いた人が組めている保証もないからな(そうか、基本的に共通処理を書くような感じになるから抽象的になっちゃうんだな)
人はロジックよりデータ構造のほうが理解しやすく修正しやすいので、なるべく宣言的に書けるようにするのが望ましい ということだと思うけど 「宣言的に記述」を実現するためには、...
俺は半分古い考えだから両方気持ちがわかる 例えば順序がわかりやすいとか、順々に処理するものとか、文章に近いフローの処理は昔通り書いたほうが読みやすいだろうけど そうじゃな...