Gerrit Stapper
Keep your code refactorable
#1about 2 minutes
Defining refactoring and refactorable code
Refactoring improves internal code structure without changing external behavior, while refactorable code provides a safe environment for both improvement and extension.
#2about 4 minutes
Understanding the development cycle and its negative impacts
The development cycle of reading, concluding, and adjusting code can be slowed by negative forces like pressure, ignorance, and fear, leading to decreased quality.
#3about 2 minutes
Building confidence as the driver for better code
Confidence in reading, understanding, and adjusting code is the positive force that counteracts pressure and fear, enabling a sustainable development pace.
#4about 6 minutes
Writing readable code through clear naming and structure
Improve code readability by using expressive names, separating concerns to reduce complexity, and avoiding the 'it works' mindset that accumulates technical debt.
#5about 4 minutes
Making implicit knowledge explicit with tests and commits
Share domain knowledge and technical context effectively through self-documenting unit tests and detailed, explanatory commit messages.
#6about 5 minutes
Using TDD and small steps for safer adjustments
Adopt test-driven development (TDD) as a design technique and make small, incremental changes with version control checkpoints to adjust code safely.
#7about 2 minutes
The business value of building sustainable software
Investing in refactorable code is not just about developer convenience; it's a financial decision to prevent costly rewrites and build competitive, long-lasting products.
#8about 2 minutes
Q&A: Handling cross-team refactoring and urgent features
Discussion on how to convince other teams to refactor using tests for safety, when not to refactor, and how to balance refactoring with urgent feature requests.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
18:22 MIN
Building a sustainable culture of clean code
Breaking the Bug Cycle: TDD for the Win
00:34 MIN
What is refactoring and why is it important
I will have to refactor ! And now ? Refactoring Techniques in Java
30:01 MIN
Refactoring implementation and test code with confidence
Treat yourself - A tale about dog training and test-driven development
40:16 MIN
Understanding the principles of safe automated refactoring
Let's build a VS Code extension for automated refactorings
11:45 MIN
Managing code complexity and common development styles
Breaking the Bug Cycle: TDD for the Win
33:43 MIN
Conclusion and key takeaways on refactoring
I will have to refactor ! And now ? Refactoring Techniques in Java
25:50 MIN
Taking ownership to improve project outcomes
Why (most) software projects fail silently...
31:43 MIN
Core principles for safe and fast development
How to TDD in legacy code
Featured Partners
Related Videos
Git for Code Reviews
Johannes Haux
The Clean as You Code Imperative
Olivier Gaudin
I will have to refactor ! And now ? Refactoring Techniques in Java
Kamila Santos
From boy scouting to redrawing the landscape
Tim te Beek
Resolving technical debts in software architecture
Carola Lilienthal
Write tests you love, not hate
Jens Happe
Shipping Quality Software In Hostile Environments
Luka Kladaric
How we will build the software of tomorrow
Thomas Dohmke
From learning to earning
Jobs that call for the skills explored in this talk.


Software Developer (IntelliJ Platform - Version Control Experience) New
JetBrains GmbH
Berlin, Germany
API
GIT
Java
Gitlab
Kotlin
+2


Software Development Engineer
GTD
Municipality of El Puerto de Santa María, Spain
QT
C++
GIT
Linux
Continuous Integration




Frontend Web Developer - JavaScript | React | Angular | Vue.js | Bootstrap | Tailwind | HTML | CSS
Tech Solutions Gmbh
Illingen, Germany
API
CSS
GIT
HTML
Scrum
+5




Software Developer - (WMS, MFC)
TGW Logistics GmbH
Regensburg, Germany
Remote
Intermediate
Senior
Java
Scrum
Unit Testing






Senior Fullstack Engineer – Angular/.Net (f/m/d)
Apaleo
München, Germany
Remote
€65-85K
Senior
.NET
Angular
JavaScript
+1


