haskell-jp / beginners #18 at 2021-10-30 13:51:57 +0900

かりんとう
do記法に関して疑問があります。

・doを使用すべき場面
・doを使用しないようにすべき場面
・理想的なdo記法の頻度
について、皆様の感触を聞きたいです。

一般的な正解はないかもしれませんが、複数の意見を聞ければ手探りで考えてるよりは良いと思い書かせて頂きました。

ちなみに自分は自分で読むとき分かりやすいという理由で今バリバリdoを多用してます。(今書いてる約500行の.hsファイル中27個のdoがありました、これでも抑えた)
現在私は「doを多用しても問題ないんじゃないか」的な感覚ですが、上級者はdoを使用しないとかネット上で聞くので、気になってます。

ちなみに趣味の範囲で書いていて、誰かにコードを見せるとかは普段はない状況です。

深く使ってるという方でなくても、私はこう思ってるよー、的なので大歓迎ですので、できれば広く聞かせて頂ければありがたいと思っています。
かりんとう
ちなみに自分はこうしてました。スキルレベルとしてはJavaやC#はそれなりに実務的に使ってましたがHaskellはまだ実務的には自信がない、という感じです。

・doを使用すべき場面
 → IO絡みなど実行順序が重要な場面
・doを使用しないようにすべき場面
 → >>= とか使わなくても関数として定義的に書ける場面
・理想的なdo記法の頻度
 → doまみれだと気が引ける感じは若干するけど、読むのに問題なかったら大丈夫かな
これと言ったデメリットもないので、好きなだけ使えばいいと思いますよ。強いて基準を設けるとすれば、 do にすると都度結果に変数名を与える必要があるので、名前を付けるのが面倒だと感じる場合は do にしない方がいいかもしれません。
かりんとう
igrepさんありがとうございます。言われると確かにそうだなぁと思いました。今まで通り頻度を気にせず使っていこうと思います。