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
Having fun with legacy apps
Search
Michał Łomnicki
November 21, 2012
Technology
1
64
Having fun with legacy apps
Michał Łomnicki
November 21, 2012
Tweet
Share
More Decks by Michał Łomnicki
See All by Michał Łomnicki
DDD, Rails and persistence
mlomnicki
1
270
Forget Ruby. Forget CoffeeScript. Do SOA
mlomnicki
1
120
CAP Theorem
mlomnicki
2
130
[PL] Transakcje w bazach danych
mlomnicki
1
210
Ruby Tricks 2
mlomnicki
3
66
SchemaPlus
mlomnicki
1
41
Other Decks in Technology
See All in Technology
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
150
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1k
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
1k
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
290
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
120
Definition of Done
kawaguti
PRO
6
430
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
510
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
2
250
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
180
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
310
~宇宙最速~2025年AWS Summit レポート
satodesu
1
530
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
What's in a price? How to price your products and services
michaelherold
245
12k
Building Adaptive Systems
keathley
43
2.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Designing for Performance
lara
609
69k
Practical Orchestrator
shlominoach
188
11k
Transcript
Legacy Apps @mlomnicki The essence of dealing with legacy apps
is to reduce the number of WTFs down to zero.
Legacy Apps Growing market.
There was an app... Almost 3 years under development 2
teams. 1st from UK, 2nd from India
tests there were some tests! (unit, controllers) over 100 out
of 220 fail
git log fixes - 163 times fix - 144 times
search - 52 times changes - 40 times final issues - 30 times
versions Rails 2.3.5 ruby 1.8 no bundler
WTFs (@club.secretary == current_member || @club.secretary == current_member)
WTFs <%= @payment.new_record? ? '' : '' %>
WTFs if some_condition else do_something
WTFs Member.first(:conditions => ["member_id LIKE #{params[:id]}"])
WTFs if @member.something == sth || @member.somethi ... elsif other_long_conditions
... else very_long_condition && looks_important ...
Logic models controllers views layouts initializers (!)
Everything is awful ruby code JS CSS plugins used
Arkency took control
1. Understand the app It is hard From the beginning
you have to dive into every detail Bugs made by your predecessor become your bugs
2. Tests BBQ heavy no factories or fixtures
3. Code PORO + real unit tests Good Rails code
Nothing fancy yet (no DCI, no usecases...)
4. Upgrade It is all about plugins Moved them to
lib and simplify Do you need them all?
Where is the fun?!
Removing code is fun 1799 files changed, 37303 insertions(+), 78770
deletions(-)
SPA migration is mega fun Realize the rails-way is legacy!
It does not matter how old Rails you have
To fix or to rewrite? None is correct! SPA is
the answer Otherwise your app is still legacy...
Profits Users - SPA enhances their experience Devs - SPA
is better architecture
Time 80% in frontend app 20% in Rails
Gameboxed Engine It is the best thing since Rails Put
pressure on Andrzej to open-source it
Mobile app soon Mobile is so easy now Thank you
SPA
Q&A