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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Sho Nagata
July 06, 2019
Programming
2.8k
1
Share
コードを見る!書く!見てもらう!で爆速ステップアップ!!
Sho Nagata
July 06, 2019
More Decks by Sho Nagata
See All by Sho Nagata
速く作れるかではなく、速く学べるか ― 学習ループを回すパイロットの途中報告
nagata03
0
370
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
900
チームスローガンとその設計意図
nagata03
0
480
0→1フェーズのプロダクト開発のリアル
nagata03
0
320
スクラムマスターの悩みどころを赤裸々に告白します
nagata03
1
1.9k
SmartHRにおけるスクラムマスターへの道
nagata03
0
420
競技プログラミングにチャレンジ!
nagata03
0
460
1年間Rubyを使って印象的だったあれこれ
nagata03
0
490
Railsのコードを読んでみる vol.1
nagata03
0
460
Other Decks in Programming
See All in Programming
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.2k
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
170
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
140
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
2
650
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
140
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
180
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
4
560
GitHub Copilot CLIのいいところ
htkym
2
750
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
160
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
230
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Language of Interfaces
destraynor
162
26k
Speed Design
sergeychernyshev
33
1.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Music & Morning Musume
bryan
47
7.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
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!!