ウェブエンジニア珍道中

日々の技術的に関する経験を書いていきます。脱線もしますが助けになれば幸いです。

if not と if ! と unless について

今の業務においては「unless文は極力使わない」という
コーディング規約があるので

if !hoge.is_hoge
  puts "hoge"
end

なんて書き方をしていましたが、
「あれ、これ"if not"って書いた方が読みやすくないか」と思い
同期に言ったところ「普通に"unless"でよくね?」と全否定を
いただきました。ありがたや。

確かにunlessの方がいい気もするけども、
直感的ではない感じも否めない。

色々聞いてみたけど、
皆それぞれこだわりはあるみたい。
「unless読みにくい」派とか「unlessの方がシンプル」派とか

とりあえず少し調べてみると
こんな記事が見つかった。

6年前の記事だけども、
なるほど参考になる。

あと、githubでも
議論はされていたようですね。

"if not" vs "unless" · Issue #329 · bbatsov/ruby-style-guide · GitHub

色々ありすぎて結論がなかなかでませんが、
大事なのは統一感なんでしょう。(無理やりまとめた)

個人的にはif notが好きだけども、
そんなにこだわりもないかな。
なんだかんだで慣れるだろうし。

ではではこのへんで。