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
100
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
250
Other Decks in Programming
See All in Programming
CSC509 Lecture 04
javiergs
PRO
0
300
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
210
CSC305 Lecture 02
javiergs
PRO
1
260
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
180
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
460
Catch Up: Go Style Guide Update
andpad
0
200
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
200
CSC509 Lecture 01
javiergs
PRO
1
430
What's new in Spring Modulith?
olivergierke
1
110
Advance Your Career with Open Source
ivargrimstad
0
380
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
620
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
GitHub's CSS Performance
jonrohan
1032
460k
Automating Front-end Workflow
addyosmani
1371
200k
Practical Orchestrator
shlominoach
190
11k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
The Cult of Friendly URLs
andyhume
79
6.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
How GitHub (no longer) Works
holman
315
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
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]