
What will you learn and how you will learn it ater you download the source code and refactoring everything together with the trainer.
What is refactoring and how it helps you to keep your code clean(er).
My refactoring journey - learning practicing and teaching refactoring.
My main discovery on how to approach refactoring.
This lecture provides quick introduction to the source code that is used throughout the course. The student is expected to download the source code (in java language) and install the project into IntelliJ IDE. Community version of the IDE is enough.
In this lesson we quickly climb up the refactoring pyramid and go through its levels from the bottom into the top.
It is time to recap what pyramid of refactoring is and how we experienced it during the previous live refactoring.
We continue ending up with new classes by making use of Extract Delegate (extract class) functionality in IntelliJ and experience how it works.
We continue with ways to extract new classes by using Extract Parameter Object functionality in IntelliJ and experience how it works.
Haven't you used "Replace Method with Method Object" so far? It not, please practice it.
Negation is part of logic tree, so it need to be implemented as well.
SOLID rules are still alive and very important. In this lecture you understand how SOLID rules help us to perform more sophisticated code transformation and in what sequence these SOLID principles should be applied to allow previous refactoring push subsequent refactoring.
And Criterion is search functionality should be as flexible as possible.
Direct usage of constructors might be tedious. Especially when object creation requires prior creation of the parameter objects as this way some code will be duplicated in many places. Replacing constructor call with a single factory method might allow to keep code responsible for object creation in single place and avoid duplication.
Fluent Builder is one of creational design patterns. We will replace direct usage of constructor with builder using IntellJ IDE features, but also have a look at one of Functional Interfaces - Predicate.
Tests should also be refactored continuously with production code. Let's make our tests clean as well.
Possessing technical skills is half of your success. The second half is ability to make it part of your software development process of your team, so the code is clean or at least becomes slightly cleaner after each commit to repository.
This is the first module of (planned) series called "Pyramid of Refactoring" dedicated to achieving Clean Code.
We use refactoring techniques and perform all the changes live. The student downloads the source code and performs all the changes together with the trainer - step by step. In this sample we make use of Interpreter Design Pattern as goal of our refactoring journey. The Interpreter Pattern is accompanied by two creational design patterns - Factory Method and Fluent Builder, which are also result of refactoring activities.
SOLID Principles will be explained in practice instead of teaching the sole theory.
The journey allows us practice code transformations like :
Replace Loop with Stream
Extract Delegate / Class
Extract Interface
Extract Parameter Object
Replace Method with Method Object
Extract Method / Variable
Move Method
Inline Method / Variable
Install IntelliJ IDE, Java and try it out. You will perform all the changes step by step with the trainer and learn refactoring transformations built into IntelliJ. Moreover after registering to this online workshop you will be informed about promotional prices of my other trainings which will allow you to continue with this subject at the lowest possible price.
Join a few hundreds of software developers whole spent these 2 hours and applied refactoring techniques to Clean Code in their daily work.