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
98
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
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
550
Jakarta EE meets AI
ivargrimstad
1
520
全部見せます! クラシルリワードのSwiftTesting移行プロジェクト
uetyo
0
210
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
170
Composing an API the *right* way (Droidcon New York 2024)
zsmb
2
100
Securify_エンジニア採用資料
3shake
0
100
私のEbitengineの第一歩
qt_luigi
0
450
Rubyのobject_id
qnighy
6
1.3k
オートマトン学習しろ / Do automata learning
makenowjust
3
130
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
250
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
A better future with KSS
kneath
235
17k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
Web development in the modern age
philhawksworth
205
10k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Web Components: a chance to create the future
zenorocha
309
42k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Producing Creativity
orderedlist
PRO
340
39k
Testing 201, or: Great Expectations
jmmastey
36
7k
The Invisible Side of Design
smashingmag
296
50k
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]