Don't use early returns to handle simple cases

- Name
- Dennis Paagman
- @djfpaagman
Early returns are a wonderful thing. They make your code readable and cases where the code can be cut short are clear.
They can also be overused in cases where a case
statement would be preferred. Take this example:
def country_code(country)
return "NL" if country == "Netherlands"
"DE"
end
Rewritten using a case
statement it reads much nicer:
def country_code(country)
case country
when "Netherlands" then "NL"
else "DE"
end
This has a few other benefits as well:
- Adding new cases is obvious, just add another
when
statement. - It exposes another issue: should the German case really be handled in the
else
? It’s more clear to add an explicitwhen
for it as well. - Preprocessing of the variable is easier, it only requires a change in one line of code.
It could evolve into something like this:
def country_code(country)
case country.chomp
when "Netherlands" then "NL"
when "Germany" then "DE"
when "France" then "FR"
end
Save the early return for more complex methods where non-trivial code paths can be skipped and cut short.
I'm available for hire! If you're looking for an experienced Ruby on Rails developer or need help with Hotwire Native development, let's chat.
Get in touch