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
선언형 UI에서의 상태관리
l2hyunwoo
0
270
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
28
4.2k
Fibonacci Function Gallery - Part 2
philipschwarz
PRO
0
210
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
ASP.NET Core の OpenAPIサポート
h455h1
0
120
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
180
Оптимизируем производительность блока Казначейство
lamodatech
0
950
快速入門可觀測性
blueswen
0
500
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
220
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
混沌とした例外処理とエラー監視に秩序をもたらす
morihirok
13
2.3k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Making Projects Easy
brettharned
116
6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
How to train your dragon (web standard)
notwaldorf
89
5.8k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Designing for Performance
lara
604
68k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
The World Runs on Bad Software
bkeepers
PRO
66
11k
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]