Comment皆さんこんにちは。今年も残すところわずか3日となりました。年末感のかけらもないネタですが、今回はRSpecのletについて、最近自分の中で1つの理解が得られた(気がする)ので書いてみようと思います。これまでのletへの理解ちょっと賢い単なる変数への束縛だと思っていました。中)では常に値が一緒である事が保証されるようです。endendexampleが実行される前に評価&束縛されるようです。let」と検索すると、次のような記事がヒットします。評価順の違いと、メリットとしては公式ドキュメント同様にexmaple内での値の一貫性と、記事によっては可読性や、typoに気づきやすい等が挙げられています。いずれも単に(以下のように)example内で変数を自前でバインドする事に比べて、大したメリットに感じません。endendさらにはこんな記事まであります。RSpecのletブロックやbeforeブロックは基本避けるべき(翻訳)👆ではパフォーマンスの問題や、他で挙げられていた可読性が逆に損なわれていると言われています。先程挙げた公式ドキュメントの中には、こんな言及もあります。遅延評価されるようです。ここで、ある思いが頭をよぎりました。遅延評価であるから実現できています。中で行っても良いのですが、このくらいシンプルな振る舞いの検証であれば、この書き方の方がDSLを使っている感があって(RSpecの意図としても)良いように思います。好みの問題かもしれませんが。因みに、スタブを使う場合も同様にできます。endendまとめRSpecはDSLを使っていて読みやすいSpecを書けるのはいいのですが、書き方が多岐に渡りすぎていて統率が難しいのです。綺麗な書き方を発見すると楽しいので皆さんも色々探してみて下さい。優秀な技術者と一緒に、好きな場所で働きませんか株式会社もばらぶでは、優秀で意欲に溢れる方を常に求めています。働く場所は自由、働く時間も柔軟に選択可能です。現在、以下の職種を募集中です。ご興味のある方は、リンク先をご参照下さい。採用情報プロジェクトマネージャー(リモート)ソフトウェアエンジニア(リモート)デザイナー(リモート)Subscriptionメールアドレスを記入して購読すれば、更新をメールで受信できます。ThemePacific。