雑草SEの備忘録

[旧:東大卒SEの備忘録]東大を卒業し、SEとして働くことになった。備忘録的に作業を綴る。

unless A && Bを使っても読める場合

以前

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も許容できるのではないかと思いました。