Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Refactor Legacy Code
Search
David Tanzer
January 30, 2017
Technology
0
90
Refactor Legacy Code
A refactoring Kata I facilitated at the Coding Dojo Vienna
David Tanzer
January 30, 2017
Tweet
Share
More Decks by David Tanzer
See All by David Tanzer
Wachsen und Gedeihen: Bonsai und Software
dtanzer
0
56
Contract Testing with Pact
dtanzer
0
94
to-mock-or-not-to-mock.pdf
dtanzer
0
150
Slow Down to Move Faster (German)
dtanzer
0
130
Electron - How and Why
dtanzer
0
180
Agilität ist Unintuitiv
dtanzer
0
120
Agilität und Innovation
dtanzer
0
160
Qualität, Kosten, Zeit
dtanzer
0
81
React / Redux for Backend Developers
dtanzer
0
80
Other Decks in Technology
See All in Technology
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
160
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
180
オブザーバビリティが育むシステム理解と好奇心
maruloop
2
1.3k
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
180
Azure Well-Architected Framework入門
tomokusaba
1
130
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
370
混合雲環境整合異質工作流程工具運行關鍵業務 Job 的經驗分享
yaosiang
0
190
RemoteFunctionを使ったコロケーション
mkazutaka
1
120
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
720
serverless team topology
_kensh
3
230
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
140
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
480
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
The Pragmatic Product Professional
lauravandoore
36
7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Automating Front-end Workflow
addyosmani
1371
200k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Docker and Python
trallard
46
3.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
We Have a Design System, Now What?
morganepeng
53
7.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Transcript
http://www.davidtanzer.net Let’s Refactor s o m e l e g
a c y c o d e !
http://www.davidtanzer.net http://socrates-conference.at
http://www.davidtanzer.net F o r k m e o n G
i t H u b : https://github.com/dtanzer/babystepstimer
http://www.davidtanzer.net Beware: v e r y b a d c
o d e !
http://www.davidtanzer.net Legacy Code ?
http://www.davidtanzer.net Legacy Code Code Without Tests Mike Feathers
http://www.davidtanzer.net Legacy Code Code that… • Is valuable • We
are afraid to change J.B. Rainsberger
http://www.davidtanzer.net Exercise...
http://www.davidtanzer.net g i t r e s e t -
- h a r d
http://www.davidtanzer.net Want more 2-Day React / Redux Training TDD /
Clean Code Training → Ask Me ;) ?
http://www.davidtanzer.net David Tanzer • Craftsperson • Player Coach • Team
Coach • Quality Obsessed @dtanzer
[email protected]
http://www.davidtanzer.net private String getCurrentHtml() throws ... { BabystepsTimer.timerPane.getText(); } Private
void clickOn(String link) { BabystepsTimer.timerPane .getHyperlinkListeners()[0] .hyperlinkUpdate(...); }