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
How to Explore a Large Rails Application
Search
Nick Bienko
September 26, 2015
Programming
1
99
How to Explore a Large Rails Application
Rails Club 2015 talk by Nikolay Bienko
Nick Bienko
September 26, 2015
Tweet
Share
More Decks by Nick Bienko
See All by Nick Bienko
Monorails Application Design vs Cult of Microservices
bikolya
3
230
Other Decks in Programming
See All in Programming
時計仕掛けのCompose
mkeeda
1
200
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
990
Spring gRPC について / About Spring gRPC
mackey0225
0
180
最近のVS Codeで気になるニュース 2025/01
74th
1
240
2025.01.17_Sansan × DMM.swift
riofujimon
2
670
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
7
1.5k
rails newと同時に型を書く
aki19035vc
6
750
Amazon Bedrock Multi Agentsを試してきた
tm2
1
220
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
1
200
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
200
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
140
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
4
620
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
4 Signs Your Business is Dying
shpigford
182
22k
Side Projects
sachag
452
42k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Statistics for Hackers
jakevdp
797
220k
It's Worth the Effort
3n
184
28k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Transcript
How to Explore a Large Rails Application Nikolay Bienko, AT
Consulting @bikolyarb
[email protected]
Plan UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
UI Traversing & Domain knowledge Explore what is your app
about Documentation Grasp domain knowledge
None
None
Get the app up and running Make tests green bin/setup
rake --tasks routes.rb gemfile-verboser
None
None
None
None
gemfile-verboser
Estimate codebase rake stats wc -l app/models/**/*.rb | sort gem
‘rails-erd’ gem ‘railroady’
None
None
wc -l app/models/**/*.rb wc -l app/controllers/**/*.rb
gem ‘rails-erd’
gem ‘railroady’
Check out primary entities Entity-Relationship Diagrams schema.rb gem ‘annotate’
gem ‘annotate’
ApplicationController Callbacks Methods and helper methods Authentication
ApplicationController
Follow main use cases routes -> controller -> model ->
view pry pry-byebug stack-trace Introspection methods ctags Integration testing gem ‘rails-footnotes’ gem ‘state_machine’ with graphs
None
gem ‘rails-footnotes’
gem ‘state_machine’ with graphs
POROs and pattern objects lib app/services app/decorators app/facades app/helpers
Summary UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
None
None
Feedback is welcome Nikolay Bienko, AT Consulting @bikolyarb
[email protected]