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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David Tanzer
January 30, 2017
Technology
100
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
110
Grown Organically - Develop Software and Bonsai
dtanzer
0
79
Wachsen und Gedeihen: Bonsai und Software
dtanzer
0
89
Contract Testing with Pact
dtanzer
0
140
to-mock-or-not-to-mock.pdf
dtanzer
0
210
Slow Down to Move Faster (German)
dtanzer
0
170
Electron - How and Why
dtanzer
0
230
Agilität ist Unintuitiv
dtanzer
0
150
Agilität und Innovation
dtanzer
0
200
Other Decks in Technology
See All in Technology
NANDでも描画したい!
nichica906
3
810
atproto spaces概要
yamarten
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
0
140
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
0
490
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
270
8bit CPU 2026
koba789
7
3k
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
350
dbt in Microsoft Fabric
ryomaru0825
0
300
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
480
AIエージェントのためのデータ設計
daiz21
0
520
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.3k
Typedesign – Prime Four
hannesfritz
42
3.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
What's in a price? How to price your products and services
michaelherold
247
13k
Building AI with AI
inesmontani
PRO
1
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Six Lessons from altMBA
skipperchong
29
4.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Building the Perfect Custom Keyboard
takai
2
850
How to build a perfect <img>
jonoalderson
1
5.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
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(...); }