Slide 1

Slide 1 text

田中悠大 (ytnk531) 1

Slide 2

Slide 2 text

田中悠大 サーバーサイドエンジニア6年目 • 小さいチームでリードエンジニア • Ruby On Rails 2/15

Slide 3

Slide 3 text

コードレビューしてますか? 3

Slide 4

Slide 4 text

コードレビュー楽しいですか? 4

Slide 5

Slide 5 text

つらい人もいるみたい 5

Slide 6

Slide 6 text

6

Slide 7

Slide 7 text

関連キーワードもつらい 7

Slide 8

Slide 8 text

コードレビューのつらさ レビュイーとレビュワーの対立構造 コードを直すのに手間がかかる • 議論で合意して初めてコードが変更される 8 締め切りに間に合わせたい レビュイー 品質を上げたい レビュワー

Slide 9

Slide 9 text

コードレビューの効果 品質向上 教育 [参考文献] GMO INTERNET GROUP 次世代システム研究室. ソースコードレビュー理由をまとめてみた. 2015.02.10. https://recruit.gmo.jp/engineer/jisedai/blog/%e3%82%bd%e3%83%bc%e3%82%b9%e3%82%b3%e3%83%bc%e3%83%89%e3%83%ac%e3%83%93%e3%8 3%a5%e3%83%bc%e7%90%86%e7%94%b1%e3%82%92%e3%81%be%e3%81%a8%e3%82%81%e3%81%a6%e3%81%bf%e3%81%9f/ 9

Slide 10

Slide 10 text

[考察] コードレビューがつらくない環境 OSS 業務 完了義務 なし あり 締め切り 無いことが多い あることが多い 著者性 重要 組織による 10/15

Slide 11

Slide 11 text

ほかの方法は無いか? ペア/モブプログラミング • コードが生まれるときから複数人で考える ➢ すべてにやるには時間がかかりすぎる [事例] デフォルトでコードレビューは不要 • https://itnews.org/news_contents/no-code-reviews-by-default • 全員がメインブランチに直接push ➢ ノールックはやっぱり心配 11

Slide 12

Slide 12 text

[やっていること] コードリレー やること • 心配なところのテスト追加、リファクタリングをレビュワーが行う いいところ • 締め切りのコントロールがしやすい • 協力、伴走の構図が作りやすい 悪いところ • 教育の効果は薄い • 著者性が損なわれると感じるかも 12

Slide 13

Slide 13 text

比較 コードレビュー ペア/モブプログラ ミング コードリレー 同期/非同期 非同期 同期 非同期 教育効果 中 高 低 品質向上効果 中 高 高 所要時間 長 長 中 13

Slide 14

Slide 14 text

効果 依頼されてから完了までの時間が半分くらいになった もらったコードの理解が深まった 14

Slide 15

Slide 15 text

まとめ コードレビューをやめた コードリレーで教育を犠牲にスピードと品質を向上 • 教育は別途行うようにする 15