Description
This is the second module of series called "Pyramid of Refactoring" dedicated to achieving Clean Code.
Source code to review :
https://github.com/wlodekkr/chain-of-responsibility
The goal of the course is to disentangle the codebase from a set of deeply nested conditional if/else statements. It is a very common case - and if it is left for a long time - then it leads to a very complex legacy code after subsequent code extensions.
We use refactoring techniques and perform all the changes live. The participants download the source code and performs all the changes together with the trainer - step by step. In this sample we make use of Chain of Responsibility Design Pattern as goal of our refactoring journey.
The course ends up with Homework, where the participants can experience the difference between implementing additional requirements within Clean Code and within Legacy Code. This is the difference between skipping and applying Preparatory Refactoring.
Basic knowledge
Knowledge of:
Java 1.8+
IntelliJ (Community) IDE
JUnit
Maven
What will you learn
Cleaning Code by replacing nested if-else statements into Chain of Responsibility using Refactoring Pyramid concept
The journey into Chain of Responsibility allows the attendees to practice code transformations like :
Merge If Statements
Merge Nested-If Statements
Extract Methods
Replace Temp with Query
Move Methods
Inline Methods
Extract Class / Extract Delegate
Extract Interface
Rename Methods & Variables