Refactor; Computer says no!

Anna Maria Eilertsen

Short workshop - in English

In this workshop, we will practice using the refactoring menu in our IDE. Sometimes automated refactorings can speed up our manual editing and help us avoid errors; other times, a seemingly erratic IDE refuses to perform even the simplest operations. It is no wonder most developers shy away from any automation more complex than Rename. After this workshop, you will be able to decipher refactoring error messages, tweak your code to make automated refactorings succeed, and interleave automated transformations with manual ones to achieve the code change that you want. 

This workshop is not about improving code quality, per se. Rather, you will learn about IDE magic and curious corner cases in seemingly straightforward refactorings. We will focus on simple but powerful code transformations: Extract, Inline, and Move, and how to make them succeed in increasingly tricky application scenarios. 

We will collectively use IntelliJ Community edition with Java 1.8+, BUT! if you usually work with other frameworks, we strongly encourage you to disregard the provided tasks and instead explore the refactoring menu of your favorite IDE. Our main goal is to provide you with refactoring skills that you can apply in your everyday programming. 

Disclaimer: If you choose to work in another language, codebase or IDE, the organizer may not know the answers to your questions as they arise, but will enthusiastically lend herself to help figure them out. 

Primarily for: Developers

Participant requirements: Laptop with the following installed: IntelliJ Community with Java 1.8+, git, Maven