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.1k
Let's learn code review
春和の候!若手エンジニアふんわりLT Night!_vol4で発表した資料
RioFujimon
April 25, 2024
Tweet
Share
More Decks by RioFujimon
See All by RioFujimon
2025.01.17_Sansan × DMM.swift
riofujimon
3
800
実践 Realtime API 〜入力として音声データを扱う〜
riofujimon
1
82
Realtime API 入門
riofujimon
0
310
Other Decks in Programming
See All in Programming
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
970
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
440
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
47
31k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
110
C++20 射影変換
faithandbrave
0
540
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
230
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Invisible Side of Design
smashingmag
300
51k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Practical Orchestrator
shlominoach
188
11k
BBQ
matthewcrist
89
9.7k
Facilitating Awesome Meetings
lara
54
6.4k
Making Projects Easy
brettharned
116
6.3k
What's in a price? How to price your products and services
michaelherold
246
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Automating Front-end Workflow
addyosmani
1370
200k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Documentation Writing (for coders)
carmenintech
72
4.9k
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