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
Let's learn code review
Search
RioFujimon
April 25, 2024
Programming
3
1.2k
Let's learn code review
春和の候!若手エンジニアふんわりLT Night!_vol4で発表した資料
RioFujimon
April 25, 2024
Tweet
Share
More Decks by RioFujimon
See All by RioFujimon
Foundation Models を 活用するための Tips
riofujimon
1
260
2025.01.17_Sansan × DMM.swift
riofujimon
3
850
実践 Realtime API 〜入力として音声データを扱う〜
riofujimon
1
92
Realtime API 入門
riofujimon
0
340
Other Decks in Programming
See All in Programming
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
100
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
400
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
490
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
230
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
530
私はどうやって技術力を上げたのか
yusukebe
43
18k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
240
dynamic!
moro
10
7.4k
Go言語はstack overflowの夢を見るか?
logica0419
0
120
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
briete
0
140
Serena MCPのすすめ
wadakatu
4
980
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
56
6.6k
GitHub's CSS Performance
jonrohan
1032
470k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Transcript
Let’s learn code review 藤門 莉生(Rio Fujimon) review suggestion
自己紹介 2 - 名前:藤門 莉生(Rio Fujimon) - 所属:Sansan株式会社 - 📱
23卒 iOSエンジニア - 🍎 Eight(iOS版)を開発 - SNS:@RioFujimon
コードレビュー上手くできてますか? review ask
コードレビューでありがちな課題感 4 - 🤯 他人の書いたコードレベルが高くて、 理解が難しい - 🤷 どのような観点でレビューすれば、 いいのか分からない
- 🚨 コードレビューで気をつける点は、 あるのか? - 🫥 雰囲気でコードレビュー
プログラミングは勉強するけど、 コードレビューの勉強は後回し(しない)
📚コードレビューも学習しよう! review suggestion
コードは書く時間より読む時間の方が長い review imo
コードレビュー学習の参考文献 ① Google’s Code Review Guidelines
コードレビュー学習の参考文献 ② Google Style Guides
コードレビュー学習の参考文献 ② Google Style Guides
🔍 Google’s Code Review Guidelinesの要点 review must
コードレビューの目的 12 コードベース全体の健全性が 時間と共に向上することを確認すること
開発者の進捗とコード健全性の調和 13 - 開発者の進捗とコード健全性の調和 - 開発者は進捗を遂げなければならないが、 コードベースの健全性も維持する - レビュアーはコード健全性を確保し、 開発者の進捗を妨げない
基本原則 14 - CL(Change List)がシステムのコード健全性を 向上させるならば、承認する - 完璧なコードを求めず、継続的な改善を重視 - コードレビューは開発者の成長と教育にも役立つ
重要な機会
レビュー原則 15 - 意見や個人の好みよりも、技術的な事実とデータを優先 - コードスタイルはスタイルガイドに従う - ソフトウェア設計は、原則に基づいて評価されるべき
議論紛争の解決 16 - レビュアーガイドラインの内容に基づいてみる - コードレビューコメントだけでなく、直接会議や オンライン会議も活用(議事録は必ず取る) - エスカレーションを活用 -
テクニカルリードやテクニカルマネージャーの 意見に助けてもらう
🔍 Code Review 観点 review must
コードレビュー観点 ① 18 1. コードが適切に設計されているか? 2. 機能がコードのユーザーにとって良いものであるか? 3. UIの変更が適切で見栄えが良いか? 4.
並行プログラミングが安全に行われているか? 5. コードが必要以上に複雑でないか? 6. 開発者が将来必要になるかもしれないが、 現時点では必要性が分からないものを実装していないか?
コードレビュー観点 ② 19 7. コードに適切な単体テストが含まれているか? 8. テストが適切に設計されているか? 9. 開発者がすべてのものに明確な名前を付けているか? 10.
コメントが明確で有用であり、 主になぜそのようになっているかを説明しているか? 11. コードが適切に文書化されているか? 12. コードがスタイルガイドに準拠しているか?
コードの不明点は開発者に積極的に質問しよう review imo
質問により得られるメリット 21 コードレビューには、開発者に言語、フレームワーク、または一般的なソフトウェア設 計原則について新しいことを教える重要な機能があります。開発者が新しいことを学 ぶのに役立つコメントを残すことは常に良いことです。知識を共有することは、時間と ともにシステムのコード健全性を向上させる一部です。 Google’s Code Review Guidelines(Mentoring)
できる部分から少しずつ実践していこう! review suggestion