Ruby: unless vs if not
if not condition is rarely used. Ruby programmers (usually coming from other languages) tend to prefer the use
On the other side, unless is widely use in case there is a single condition and if it sounds readable.
Also see making sense with Ruby unless for further suggestions about unless coding style.
unless every time, except when there is an
So, I'll use
unless blah_blah ... end
but if there is an else condition, I'll use
if not (or
if !blah_blah ... else ... end
if ! for years and years and years, it actually took me a while to get used to
unless. Nowadays I prefer it in every case where reading it out loud sounds natural.
I'm also a fan of using a trailing
increment_by_one unless max_value_reached I'm using these method/variable names obviously as a readability example - the code's structure should basically follow that pattern, in my opinion.
In a broader sense, the structure should be:
take_action unless exception_applies
I hope this helps you: https://github.com/rubocop-hq/ruby-style-guide#if-vs-unless
Prefer unless over if for negative conditions (or control flow ||).
# bad do_something if !some_condition # bad do_something if not some_condition # good do_something unless some_condition
I personally agree with what's written there choosing
unless something over
if !something for modifiers and simple ones and when there's an