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
280
Forget Ruby. Forget CoffeeScript. Do SOA
mlomnicki
1
120
CAP Theorem
mlomnicki
2
130
[PL] Transakcje w bazach danych
mlomnicki
1
220
Ruby Tricks 2
mlomnicki
3
67
SchemaPlus
mlomnicki
1
42
Other Decks in Technology
See All in Technology
MCPと認可まわりの話 / mcp_and_authorization
convto
2
340
Rubyの国のPerlMonger
anatofuz
0
260
猫でもわかるQ_CLI(CDK開発編)+ちょっとだけKiro
kentapapa
0
150
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
260
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
2
890
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
150
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
8
2.3k
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
120
生成AIによる情報システムへのインパクト
taka_aki
1
220
人と生成AIの協調意思決定/Co‑decision making by people and generative AI
moriyuya
0
220
製造業の課題解決に向けた機械学習の活用と、製造業特化LLM開発への挑戦
knt44kw
0
110
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
1
370
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
RailsConf 2023
tenderlove
30
1.2k
GraphQLとの向き合い方2022年版
quramy
49
14k
Agile that works and the tools we love
rasmusluckow
329
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Docker and Python
trallard
45
3.5k
A Tale of Four Properties
chriscoyier
160
23k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
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