以前
unless A && B
は辞めたいという記事を書きました。
normalse.hatenablog.jp
しかし、その後、場合によっては使用しても良いという意見になりましたので、追記します。
「場合」というのは、guard節を使うとき。
def hoge return unless A && B something_hoge end
のような場合です。このようなソースコードの読み方は、A && Bのときのみsomething_hogeを実行すると呼びます。すなわち、
def hoge if A && B something_hoge end end
と同じということですね。この二つは等価で、十分に読めるので、guard節でunlessを使う場合は、unless A && Bも許容できるのではないかと思いました。