Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to Explore a Large Rails Application
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nick Bienko
September 26, 2015
Programming
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to Explore a Large Rails Application
Rails Club 2015 talk by Nikolay Bienko
Nick Bienko
September 26, 2015
More Decks by Nick Bienko
See All by Nick Bienko
Monorails Application Design vs Cult of Microservices
bikolya
3
270
Other Decks in Programming
See All in Programming
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
Railsバージョンを4倍にした話
optim
0
970
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
330
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
160
Seven New Principles of Software Engineering
yegor256
0
470
Event is what happens
moro
2
4k
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
160
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.6k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
11k
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
320
Featured
See All Featured
How to make the Groovebox
asonas
2
2.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
SEO for Brand Visibility & Recognition
aleyda
0
4.9k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Curious Case for Waylosing
cassininazir
1
610
Designing for Performance
lara
612
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
Music & Morning Musume
bryan
48
7.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]