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
The Joys and Pains of Working With an Old Codebase
Search
Gordon Diggs
June 10, 2014
Programming
0
140
The Joys and Pains of Working With an Old Codebase
As presented at Boston.rb on 6.10.14
Gordon Diggs
June 10, 2014
Tweet
Share
More Decks by Gordon Diggs
See All by Gordon Diggs
John Coltrane: Lessons in Leadership
gordondiggs
2
290
The Customer Gap
gordondiggs
1
110
Picking Records with JavaScript and a Button
gordondiggs
0
79
Kafka Partitioning Algorithm
gordondiggs
0
140
Supbutton
gordondiggs
0
63
Rayons
gordondiggs
0
65
Sous Vide
gordondiggs
0
86
Dev Events & Internal Tools at Paperless Post
gordondiggs
0
120
The Joys and Pains of Working with an Old Codebase
gordondiggs
1
2.3k
Other Decks in Programming
See All in Programming
認証・認可の基本を学ぼう後編
kouyuume
0
250
tparseでgo testの出力を見やすくする
utgwkk
2
300
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
490
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
SwiftUIで本格音ゲー実装してみた
hypebeans
0
510
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
200
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
310
Vibe codingでおすすめの言語と開発手法
uyuki234
0
130
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
880
クラウドに依存しないS3を使った開発術
simesaba80
0
180
Featured
See All Featured
Visualization
eitanlees
150
16k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
32
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
60
Abbi's Birthday
coloredviolet
0
3.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
94
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
The Joys and Pains of Working With An Old Codebase
Gordon Diggs Boston.rb 140610
The Joys and Pains of Working With An Old Codebase
Gordon Diggs Boston.rb 140610
if total_guests == 150 && total_guests + 1 == 151
... end
Outline About Me Introduction to our codebase Adding features Executing
refactors Tools we use The joys
@gordondiggs Record Collector
@gordondiggs Baker / Cook
@gordondiggs New York City Resident
None
"I have always found that plans are useless but planning
is indispensable." - Dwight D. Eisenhower
The Codebase Ruby 2.1 Rails 2.3 Postgres, Redis, Memcached Started
in 2008 60 contributors ~128k lines of application code
#TODO: redo this
How to add features
1. Plan out the feature
1. Plan out the feature Have developers involved in the
planning
1. Plan out the feature Have developers involved in the
planning ! Let your unique development concerns be known
1. Plan out the feature Have developers involved in the
planning ! Let your unique development concerns be known ! Make it a conversation
2. Do a technical kick-off
2. Do a technical kick-off What new data models do
we need? ! What needs to be refactored? ! What might the challenges be?
3. Be prepared to do something else entirely
4. Write lots of tests, especially for things that already
exist
5. Document Things
Build awesome things
# because the "update_attributes!" does not behave as expected, we
need this def update_attributes_is_broken_with_nested_attribute_validations_in_rails ... end
How to execute refactors
Treat them like features
1. Plan out the refactor
2. Do a technical kick-off
3. Write lots of tests, especially for things that already
exist
4. Document Things
Build awesome things
Tools we use (and love)
None
None
None
None
None
None
None
None
Peter Welch - Programming Sucks stilldrinking.org/programming-sucks
The Joys
Get to fix lots of bugs
Get to fix lots of interesting bugs
Give time to fix the bugs
Treat your codebase like a campsite
Build awesome things
Thank you! @gordondiggs ! bit.ly/joys_and_pains_boston Special Thanks to: Mark Bates,
Mike Bernstein, Michael Hansen, Solomon Kahn, Alan Macdougall, Aaron Quint, Todd Mazierski, Justin Searls, Stephanie Shih, Alyssa Stein