Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Refactor Legacy Code
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David Tanzer
January 30, 2017
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Refactor Legacy Code
A refactoring Kata I facilitated at the Coding Dojo Vienna
David Tanzer
January 30, 2017
More Decks by David Tanzer
See All by David Tanzer
Reversible Decisions for Better Software Design (VoxxedDays Zürich)
dtanzer
0
120
Grown Organically - Develop Software and Bonsai
dtanzer
0
90
Wachsen und Gedeihen: Bonsai und Software
dtanzer
0
96
Contract Testing with Pact
dtanzer
0
160
to-mock-or-not-to-mock.pdf
dtanzer
0
220
Slow Down to Move Faster (German)
dtanzer
0
180
Electron - How and Why
dtanzer
0
250
Agilität ist Unintuitiv
dtanzer
0
160
Agilität und Innovation
dtanzer
0
220
Other Decks in Technology
See All in Technology
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
760
2026 Apache Flink Community Checkpoint
rmetzger
0
200
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
210
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.6k
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
4
1.7k
ゼロから作るWebアプリの新定番!?Amplify Gen 2 × AWS Blocksで実現する「開発速度とRDBの柔軟性のいいとこ取り」
amixedcolor
1
180
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
220
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.3k
[dbts2026]数十PBの超巨大データ×AI活用を支えるSnowflakeの実力〜大規模環境におけるアーキテクチャと運用のリアル〜
y_matsubara
0
120
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
220
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
sira's awesome portfolio website redesign presentation
elsirapls
0
500
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
470
Tell your own story through comics
letsgokoyo
1
1.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
670
Designing for Performance
lara
612
70k
From π to Pie charts
rasagy
1
440
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(...); }