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
100
Grown Organically - Develop Software and Bonsai
dtanzer
0
64
Wachsen und Gedeihen: Bonsai und Software
dtanzer
0
82
Contract Testing with Pact
dtanzer
0
140
to-mock-or-not-to-mock.pdf
dtanzer
0
200
Slow Down to Move Faster (German)
dtanzer
0
160
Electron - How and Why
dtanzer
0
220
Agilität ist Unintuitiv
dtanzer
0
140
Agilität und Innovation
dtanzer
0
190
Other Decks in Technology
See All in Technology
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
490
DatabricksにおけるMCPソリューション
taka_aki
1
280
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
830
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
230
Network Firewallやっていき!
news_it_enj
0
170
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
440
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
430
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
670
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
0
240
CIで使うClaude
iwatatomoya
0
290
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
570
Featured
See All Featured
Design in an AI World
tapps
1
260
Code Reviewing Like a Champion
maltzj
528
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Rails Girls Zürich Keynote
gr2m
96
14k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
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(...); }