And not like roses. If/then/else is one of the first things a new programmer learns. But, like any tool, it can be overused. Too much conditional logic makes your methods hard to understand and reason about.
Conditionals can often indicate that we are missing important abstractions in our code. You may be familiar with using polymorphism to eliminate conditionals, but there are many other ways. This talk goes through a few of those ways and focuses on rewriting a piece of complicated, conditional logic to use no conditionals at all.
Materials mentioned:
Sandi Metz: All the Little Things - https://www.youtube.com/watch?v=8bZh5LMaSmE
Sandi Metz: Practical Object Oriented Design in Ruby - http://www.poodr.com/
Katrina Owen: Therapeutic Refactoring - https://www.youtube.com/watch?v=J4dlF0kcThQ
Avdi Grimm: Confident Ruby - http://www.confidentruby.com/
Avdi Grimm: Confident Code (the talk that preceded the book) - https://www.youtube.com/watch?v=T8J0j2xJFgQ