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
コードを見る!書く!見てもらう!で爆速ステップアップ!!
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sho Nagata
July 06, 2019
Programming
2.7k
1
Share
コードを見る!書く!見てもらう!で爆速ステップアップ!!
Sho Nagata
July 06, 2019
More Decks by Sho Nagata
See All by Sho Nagata
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
860
チームスローガンとその設計意図
nagata03
0
470
0→1フェーズのプロダクト開発のリアル
nagata03
0
310
スクラムマスターの悩みどころを赤裸々に告白します
nagata03
1
1.8k
SmartHRにおけるスクラムマスターへの道
nagata03
0
410
競技プログラミングにチャレンジ!
nagata03
0
450
1年間Rubyを使って印象的だったあれこれ
nagata03
0
480
Railsのコードを読んでみる vol.1
nagata03
0
450
プログラミング歴半年のRubyistがGoを学び始めて戸惑った点
nagata03
1
960
Other Decks in Programming
See All in Programming
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
8
4.9k
「速くなった気がする」をデータで疑う
senleaf24
0
150
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
810
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
140
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
510
The free-lunch guide to idea circularity
hollycummins
0
420
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
240
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
400
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
180
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
2.8k
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Designing for humans not robots
tammielis
254
26k
Bash Introduction
62gerente
615
210k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Side Projects
sachag
455
43k
sira's awesome portfolio website redesign presentation
elsirapls
0
210
Transcript
コードを見る!書く!見てもらう! で爆速ステップアップ!! 2019.7.6 (Sat) Tama Ruby会議01 @s_naga03
コードレビューしてますか?
自分一人で出せる成長速度には限界がある
コードレビューは 自分が至っていないレベルへ “ジャンプ” できるチャンス
• 自分が持っていない知識、技術、経験を踏まえての指摘やアドバイス • 自分と他者との思考の共有
case1:ネストを作らない / 戻り値を明確に • 指摘 • 自分ならこんな風に書く → return nil
unless review_id.present? • ネストができない • nilが返ることが明記できる
case1:ネストを作らない / 戻り値を明確に レビュー前 レビュー後
case1:ネストを作らない / 戻り値を明確に • 教訓 • ネストは悪。フラットこそが正義! • 早めの return
で戻り値をわかりやすく!
case2:TPOに合わせよう • 指摘 • whereの引数が異なるだけなら2行書くのは冗長じゃない? • return もやや可読性を下げている気がする
case2:TPOに合わせよう レビュー前 レビュー後
case2:TPOに合わせよう • 教訓 • 良い悪いはケースバイケース • 大事なのは “読みやすいか” “メンテしやすいか”
case3:既存コードが最適解とは限らない • 指摘 • match マッチャ使おうぜ!
case3:既存コードが最適解とは限らない レビュー後 レビュー前
case3:既存コードが最適解とは限らない • 教訓 • 既存コードが最適解とは限らない • より良い書き方がないか常に追求せよ
RSpecといえば… ※ࣸਅຊਓͷྃঝΛಘͯ༻͍ͯ͠·͢
より “たくさん” の “効果的な” レビューのために
コードを見る! • 他の人はどんな書き方をしているのかな? • 会社 / システムのコーディング文化、作法 • 解答例の一つがそこにある
コードを書く! • 思いついたらまず書いてみる • とりあえず動くものをアウトプット • ブラッシュアップ
コードを見てもらう! • 恥を捨てる • 気になっている箇所はあらかじめコメントしておこう • 思考を言語化できるか
まとめ • 自分一人で出せる成長速度には限界がある • 周りの力を借りて爆速でステップアップしよう • 今回はレビューイの視点だったが、レビュアーもステップアップのチャンス
Who am I? • Sho Nagata • Backend Engineer@カカクコム •
食べログのマイクロサービス化を推進中 • Ruby / Rails(歴は10ヶ月) ˏs_naga03 Sho Nagata nagata03
Thank you!!