Effective Refactoring by Włodek Krakowski

Location image of event venue


Refactoring is very well known in theory. It looks like everyone has heard about it. But do we know how to approach it? Isn’t it often a theory followed by an idea to re-write given part of code because we are afraid to touch given code any longer?

During the workshop we go carefully through the concept of Pyramid of Refactoring.

The training is mainly focused on working with code using automated refactoring-features that are built into IntelliJ or Eclipse. The source code is based on Java language. The trainer does all the refactorings live in small steps what allows the attendees to follow it with the same changes on their laptops. Remaining 25% of the training is dedicated to motivation part, how to make refactoring a daily habit in order to keep technical debt under control.

Please note also that this is a training mainly about refactoring – not necessary about the design. Different people / teams might prefer different designs whereas the goal of this training is to show how easy / fast we can change the low level design and keep the design emergent according to our architectural decisions and needs.

-> Timetable

Class Start: 09:00
Coffee Break: 10:45-11:00
Lunch Break: 12:45 – 13:30
Coffee Break: 15:00-15:30
Coffee Break: 16:30-16:45
Class End: 17:30

-> Effective Refactoring: Topics

Part 1
Start with a small code that is easy to catch up with
Understand how easy to extend it using copy-paste approach but make it harder to maintain at the same time
Divide the design into smaller pieces using Pyramid of Refactoring approach
Learn lots of build-in IDE refactoring
Talk about SOLID design that is the basement of Pyramid of Refactoring

Part 2
Start with that same code from part 1 where new requirements were implemented using copy-paste approach without any refactorings
Describe additional requirements that needs to be implemented
Understand how much more difficult it is now to continue using copy-paste approach and continue to make the code less and less maintainable at the same time
Extract the “extension” points using the Pyramid of Refactoring
Implement the new functionality as and pluggable parts using small amount of TDD

-> What will you learn during the Refactoring workshop?

Learn to tackle with technical debt on daily basis. Feel the thrill of refactoring and make it a habit to maintain code readability and extendibility continuously.
This hands-on workshop teaches how to retain code quality by refactoring in the smallest possible steps so it becomes everyday practice. This allow to continue with much more complex refactorings when needed. Your team will possess refactoring skills and its members will gain inspirations on how to introduce code quality care habits into daily / weekly practices of their teams.
We start with technical skills and go through awareness of your attitude that is always reflected in outcome code quality. Regardless if you want it or not this attitude is always reflected by your own and your team’s actions or lack of them. Awareness is the first step to change it.

-> Refactoring Workshop Requirements & Reference Materials

Regular developers specializing in Java technologies. We will use Java 1.8 version as compiler.

All the attendees are expected to install the below before the workshop, so all attendees start the workshop together at the same time.

Java 1.8 (or newer)
IntelliJ Community Edition (or Ultimate Edition if you own the licence)
Maven 3
The Java Source Code to be installed will be provided during the workshop.

-> Date and Price
The Refactoring workshop will take place on October 23. The price is 250€. The maximum number of attendees will be 12 people.

To get your ticket, click here:

-> Professor
Włodek Krakowski is an independent technical trainer specializing in maintaining code quality through refactoring. His main interest is taking care of delivering valued software from different perspectives.