Refactor conditionals by Decompose Conditional
Blog post series
This blog post is part of a series about legacy coderetreat and legacy code techniques you can apply during your work. Please click to see more sessions about legacy code.
We often see code with conditionals that are hard to understand. The purpose of this technique is to make the code look readable by extracting a function with the condition. It will be easier to test the code if the condition is extracted and injected as a dependency.
This technique is useful when having good variable names is not enough to explain the condition. We can have some of the following reasons for wanting to extract a function with the condition:
- The condition is duplicated in several parts of the class
- The condition is duplicated along different classes
- Test the condition in isolation, because of its complex nature
- Test the code without understanding how the conditions work (inject conditions as stubs)