Code: | Craft-refactor |
Category: | Patterns & Craftsmanship |
Format: | 50% lecture / 50% workshop |
Duration: | 3 days |
Target audience: |
developers |
Enrollment: | Groups, companies |
Venue: | Client's office. |
Refactorings like “Extract Method”, “Replace If with Guardian” or “Extract Object” improve the readability, but don’t rescue projects, where the model is fundamentally broken.
How to perform a refactor which looks like replacing an airplane’s engine? Of course, while flying. This workshop shows a handful of categorized typical problems gathered thanks to years of dealing with software on production, doing architectural audits and consulting in plenty of domains.
This is not yet another workshop where we go through a catalogue of typical code smells and ways of getting rid of those. During the coding exercises, we will analyze architectural problems which cannot be solved using standard refactoring techniques. We will take into account the fact that our software cannot afford a 3-month-long “rewriting” pause. Attendees will see a map that helps them navigate and solve architecture problems. Each problems is solved pragmatically, backed up with good engineering practices, Domain-Driven Design and rollback possibility.
We cover ways of communicating the technical debts to the business, soft skills that help us communicate the need of refactoring to people who we need to convince. We will talk about how to collect important business metrics which build a common understanding between IT and business stakeholders.
After the workshop, you will be ready to identify and repair architectural flaws and code problems using Domain-Driven Design, analyzing the history of your project, analyzing the business metrics, code stability, Test-Driven Development, object-oriented and functional programming, modularization and many more.
This workshop can last from 3 up to 5 days. The 4th and the 5th day can be dedicated to a fresh product, where we start from scratch, model and implement a green-field project, using the knowledge gathered within the first 3 days in the legacy context.
Alternatively, this can be applied as a series of consulting meetings, using your codebase.
Meet the experts who will conduct your training.