Sat, 18 Nov|
Masterclass with Kevlin Henney | A Day of Refactoring
A Day of Refactoring: A hands-on, code-focused day applying refactoring techniques on a couple of simple problems, with a lot of guidance (Java, C# and Python will be the supported languages)
Time & Location
18 Nov 2023, 09:00 – 17:00 EET
Vilnius, Konstitucijos pr. 20, 09308 Vilnius, Lithuania
A Day of Refactoring
For many people, refactoring is a simple code transformation they click on in a context menu or via a keyboard shortcut. They can extract, inline, replace, move, rename, etc. at will. The widespread availability of automated refactoring should have made oversized classes and long-winded functions a thing of the past. But it hasn't. Having a tool is only part of the solution: knowing what to do with it and how to use it well is what makes the bigger difference.
Refactoring is a first-class design approach, not simply a clean-up practice. Although refactoring applies to code that has suffered technical neglect, it also applies to code that is of good quality. As we develop software, we learn more about what is required and how we might choose to organise our thinking and, therefore, our code. Refactoring lets us take advantage of new knowledge not just to pay back technical debt, but also to repartition and reconceptualise code by simplifying it, changing its paradigm or moving it towards a design that better handles trends in requirements.
In this workshop, we'll revisit what refactoring is (and isn't), examine what practical and social obstacles refactoring faces, and put into practice the idea that refactoring should be considered a design process.
For the hands-on part of this workshop, exercises will be available in Java, C# and Python. You can choose to do to the hands-on work on your own, in pairs or in mobs of three or four. You will need a laptop, but you won't need any specific tooling installed: all the refactoring exercises will use the online cyber-dojo environment. So, bring a laptop and your questions, and be prepared to have a good day with good discussion!