$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コードを見る!書く!見てもらう!で爆速ステップアップ!!
Search
Sho Nagata
July 06, 2019
Programming
1
2.7k
コードを見る!書く!見てもらう!で爆速ステップアップ!!
Sho Nagata
July 06, 2019
Tweet
Share
More Decks by Sho Nagata
See All by Sho Nagata
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
750
チームスローガンとその設計意図
nagata03
0
450
0→1フェーズのプロダクト開発のリアル
nagata03
0
290
スクラムマスターの悩みどころを赤裸々に告白します
nagata03
1
1.7k
SmartHRにおけるスクラムマスターへの道
nagata03
0
380
競技プログラミングにチャレンジ!
nagata03
0
430
1年間Rubyを使って印象的だったあれこれ
nagata03
0
470
Railsのコードを読んでみる vol.1
nagata03
0
450
プログラミング歴半年のRubyistがGoを学び始めて戸惑った点
nagata03
1
940
Other Decks in Programming
See All in Programming
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
130
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
4k
Media Capture and Streams: W3C仕様と現場での知見
nowaki28
0
130
Module Harmony
petamoriken
2
610
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
240
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
900
配送計画の均等化機能を提供する取り組みについて(⽩⾦鉱業 Meetup Vol.21@六本⽊(数理最適化編))
izu_nori
0
120
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
290
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
5
1.9k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Music & Morning Musume
bryan
46
7k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
BBQ
matthewcrist
89
9.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
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!!