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
Legacy codes
Search
Kuncara Adi Nugraha
April 01, 2016
Programming
0
3.2k
Legacy codes
What's legacy codes? What should we do with it?
Kuncara Adi Nugraha
April 01, 2016
Tweet
Share
More Decks by Kuncara Adi Nugraha
See All by Kuncara Adi Nugraha
Recap of Dicoding Events : Continuous Quality and Test Automations
lagilaper
0
290
Metrics and Monitoring
lagilaper
0
60
Agile Retrospective
lagilaper
0
150
Culture Test
lagilaper
0
190
Introduction to Vagrant and Docker
lagilaper
0
91
Recap of Jordan DeaMattson TechTalk
lagilaper
0
350
Other Decks in Programming
See All in Programming
生産性アップのためのAI個人活用
kunoyasu
0
650
アーキテクトと美学 / Architecture and Aesthetics
nrslib
12
3.1k
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
110
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
1.3k
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
2
580
Return of the Full-Stack Developer
simas
PRO
1
320
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
140
List とは何か? / PHPerKaigi 2025
meihei3
0
560
PsySHから紐解くREPLの仕組み
muno92
PRO
1
520
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
What's in a price? How to price your products and services
michaelherold
245
12k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Code Review Best Practice
trishagee
67
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Become a Pro
speakerdeck
PRO
27
5.2k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Adopting Sorbet at Scale
ufuk
75
9.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Legacy Code Sleman, April 1st, 2016
What is legacy code? Code we’ve gotten from somewhere else
Demoralising code (big ball of mud) Code without unit tests
None
Characteristics Poor Architectures Without tests Poor written documentation Oral documentation
IT’S WORKING!!!
IF IT’S WORKING, THEN WHY CHANGE IT ???
Reasons to change Legacy Code Kill some BUGS! Add new
FEATURES Do some OPTIMISATIONS Add new automations things ( tests, scaling, etc)
None
Reasons not to change Legacy Code It looks ugly I
would like to see nicer code I want to use new shiny tools ….
What do we do? REWRITE?
BOOOOMMMM!!!
STOP!! DON’T REWRITE It takes time Need business analysis Features
will keep coming Breeding new bugs
Working Code is OK
What do we do? You can rewrite but you cannot
rewrite all Fight temptations to refactor a lot of codes DO IT SLOWLY AND CALMLY!!
2 Kinds of Refactoring Edit and Pray Cover and Modify
Edit and Pray Steps Find boundaries Discover the codes Refactor
/ Rewrite Run it and do smoke tests Pray that everything is okay
Cover and Modify Steps Find boundaries Discover the code Start
write tests around the to-be- refactored code Do refactor / rewrite Tests and ensure its working
Find Boundaries Act at one part of code at a
time Domains FTW
Discover the Code Read documentations Interview previous developers Read the
codes Try the codes
Prepare and Write Tests Surround it with tests ( integration,
GUI, unit tests, exploratory tests ) Testing is an investment
Write Code to make it Pass! SELF EXPLANATORY! ^_^
THANKS!!