コードの作者がいるうちに聞こう

>100 Views

June 03, 24

スライド概要

profile-image

Mobile Application Programmer

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

コードの作者がいるうちに聞こう KAWASHIMA Yoshiyuki YUMEMI.grow プルリクエストとコードレビューで開発を加速させるLT会 2024.6.3

2.

伝えたいこと • コードの作者がいなくなっても永く保守するためのコードレビュー • コードレビューを最優先にするのは永く保守する上で最小のコスト

3.

情報源 Googleのソフトウェアエンジニアリング 持続可能なプログラミングを支える技術、文 化、プロセス 2021年11月発行 https://www.oreilly.co.jp/books/9784873119656/

4.

情報源 Googleのソフトウェアエンジニアリングから学ぶコードレビュー https://zenn.dev/yumemi_inc/articles/google-code-review

6.

前提 コードレビューは 11年くらい前から GitHub 上で OSS PR で チーム開発のプロセスとして導入したのは 6年くらい前から それまでは一人開発が主流 3年くらい前からチーム開発でのコードレビュープロセスに加えて、採 用や育成のコードレビューも

8.

コードの作者がいなくなる?

9.

離任

10.

引き継ぎ 最初からいない…

11.

どういう意図でそのコードが書かれたのか誰もわ からない

12.

影響範囲がわからないのでそのままにしておこう

13.

影響範囲を調査してコードを理解して修正するとな るとちょっとの修正のはずが、多くの時間を要する

14.

PR を作成して1週間後にレビュー

15.

コードを書いた本人でも思い出す のに時間がかかる

16.

コードの作者がPRを作成した今聞 いてしまうのが一番コストが小さい

17.

コードの作者が今目の前にいてコード について聞けるのはとても貴重な時間

18.

どうやってレビューする

19.

Googleのソフトウェアエンジニアリングから影響を 受けた言葉の紹介

20.

情報源 Googleのソフトウェアエンジニアリング https://www.oreilly.co.jp/books/9784873119656/ 第9章コードレビューからここで紹介するのはご く一部なので気になった人はぜひ書籍を手に 取ってみてください

21.

通常はコードレビューが、作者以外の者が コード変更を検証する初めての機会である Googleのソフトウェアエンジニアリング 9章コードレビュー p.204

22.

こうした観点によってレビュワーには、最も優 れたエンジニアですらできないことができる ようになる Googleのソフトウェアエンジニアリング 9章コードレビュー p.204

23.

それは、コード作者の観点から生じるバイアス に影響されないフィードバックを提供すること だ Googleのソフトウェアエンジニアリング 9章コードレビュー p.204

24.

コードレビューは、ある変更がより広い対象に とって理解可能かどうか試す最初の試練であ ることが多い Googleのソフトウェアエンジニアリング 9章コードレビュー p.204

25.

コードは書かれるより読まれる回数が多くなる ため、この観点は生死を分けるほどに重要であ り、理解と意味の把握が決定的に重要である Googleのソフトウェアエンジニアリング 9章コードレビュー p.204

26.

コードレビューは、コードの正しさについての万能の解決 策でも唯一のチェック方法でもなく、ソフトウェアをめ ぐるそのような問題に対抗する多層防御の一要素である Googleのソフトウェアエンジニアリング 9章コードレビュー p.203

27.

結果として、コードレビューが成果を上げ るためには「完璧」である必要はない Googleのソフトウェアエンジニアリング 9章コードレビュー p.203

28.

実は意外なことに、コードの正しさのチェックは、コー ドレビューのプロセスからGoolgeが得る恩恵の首位では ない Googleのソフトウェアエンジニアリング 9章コードレビュー p.203

29.

時間が経ちコードベース自体がスケールした場 合もコードの変更が理解可能で意味を成すと 保証することの方が、意義が大きい Googleのソフトウェアエンジニアリング 9章コードレビュー p.203-204

30.

具体的にどうすれば?

31.

質問する

32.

特に新しくチームに参画したメンバーはバイ アスがないのでコードレビューの効果が高い

33.

そのアプローチが間違っていると決めてかかる 前に、何故そのようなアプローチが採られた かについて質問した方がよい Googleのソフトウェアエンジニアリング 9章コードレビュー p.209

34.

どう質問する

35.

コードの作者がいなくなっても自 分が保守できるか

36.

今いるメンバー(自分を含めて) いなくなっても保守できるか

37.

そうはいっても指摘が多くなる

38.

前提として、Googleにはリーダ ビリティレビューがある

39.

読みやすさのための徹底した新人 研修のイメージ

40.

情報源 Googleのソフトウェアエンジニアリング https://www.oreilly.co.jp/books/9784873119656/ リーダビリティについては第3章知識共有で詳し く書かれています

41.

私たちはGoogleではない

42.

ペアプログラミング

43.

ガイドライン作成

44.

まとめ コードの作者はいなくなります 物理的にも時間的にも コードを作成した直後にしかそのコードの作者はいません そのコードを永く保守していくためには、その作者がいるうちにどう いう意図でその変更をしたのか確認して理解しておくことが大事 わかりにくいコードであれば、修正やコメント、ドキュメントなどの 加筆をお願いする

45.

まとめ 理解と意味の把握が重要である 正しさについて「完璧」であることを求めない 動いているからOKよりは意味がわかったからOKとする 指摘よりも質問を心がける 指摘が増えてしまうのは、チームの状態の凹凸を示している ペアプログラミングやガイドラインを作成して知識の共有を行う