Upgrade to Pro — share decks privately, control downloads, hide ads and more …

教育的コードレビューされてみた/してみた

 教育的コードレビューされてみた/してみた

2021年12月1日 コードレビュー LT会 #codereviewlt にてLT登壇した時の資料です。
https://rakus.connpass.com/event/227733/

「教育的コードレビュー」とは、この資料の為の造語です。
新人教育やOTJにおいて、先輩や上位役職者が、指導・改善・ノウハウの伝授等を目的としたコードレビューを指します。

20年前に、教育的なコードレビューを受けた経験から感じたこと、
最近、教育的なコードレビューをする際に意思したこと・実施したことをまとめました。

Bf7fe621f4fe1615c228ef8a79b87282?s=128

ShirayanagiRyuji

December 01, 2021
Tweet

Transcript

  1. 教育的コードレビュー されてみた / してみた 白栁隆司 2021年12月1日 コードレビュー LT会 #codereviewlt

  2. 自己紹介 エンジニアカウンセラー 白栁 隆司 Youtubeに動画投稿中! コレざまTVチャンネル or 白栁隆司 で検索! @IT 自分戦略研究所

    エンジニアライフにて「コレがワタシの生きる様」連載中(木曜日) ITエンジニアが永く活動する為のサポート活動 主に4つのことを、ITエンジニアに勧めています 1. 傾聴ベースのコミュニケーション 2. メンタルヘルス(セルフケア) 3. セルフマネジメント 4. 日々の生活の中からエンジニアリングを学ぶ
  3. お品書き • 前半: 教育的コードレビューをされてみた話(20年前) • 後半: 教育的コードレビューをしてみた話(最近) • まとめ

  4. 「教育的コードレビュー」とは • 新人研修やOTJの一環として行われるコードレビュー ◦ この場における造語 ◦ 一般的なコードレビューと区別したかった • 先輩や上位役職者による指導・改善・ノウハウ の伝授を目的としたコードレビュー

  5. 教育的コードレビュー をされてみた話

  6. ある日、突然コードレビューを受けた • 若手に向けて唐突にコードレビューが始まった • コードには自信があるマン、俺(当時・2000年頃) ◦ コードは短い方が素晴らしい主義 ◦ 効率的なコード書ける俺、素晴らしい! ◦

    コメント?コード読んで判るだろ??
  7. 結果、フルボッコ • コードを圧縮するのは1世代前の考え方(当時) ◦ 汎用機や古いPCでリソースに限りがあるケース ◦ Windowsプログラミングなら、読みやすさ優先 ▪ 潤沢なリソースなら意識を下げていい ▪

    「メンテナンス性重視」という考え方
  8. 教育的レビューを受けて良かったこと • コードの書き方の価値観が増えた ◦ 独学だと「効率的なコード=善」になりがち ◦ 短いコードが必ずしも良いわけではない • コードを書く際に取れる手段が増えた ◦

    その後のSES生活でとても役立った
  9. 教育的コードレビュー をしてみた話

  10. 新人からコードレビューを依頼された • お世話になっている現場で別の会社の新人さんに コードレビューを依頼された(関係者許可済) ◦ そこそこ自分で考えてコードを書ける人 ◦ 実務のコードではなく研修課題のコード ◦ 課題文とコードを見ながらのレビュー

  11. レビューの際に意識をしたこと • コードレビューにおいて何をすべきかの確認 ◦ 当人、当人の上司との意識合わせ • マウントを取って貶そうと思えばいくらでも…… ◦ それをして意味があるのか? •

    褒めるべきところはしっかりと褒める!←大事
  12. レビューの際にしたこと(1/2) • 時間を区切ってレビューを行う ◦ だらだら全てのコードをレビューする必要性→無 • オブザーバーを1人置く ◦ やり過ぎ防止 ※特に他社の新人には…

    ◦ 指摘事項の共有 → 今後のOJTにも役立つ
  13. レビューの際にしたこと(2/2) • 最初に当人からコードの説明をさせる ◦ 「なんとなく」で書いていないことの確認 ◦ 自身の作業を振り返る時間となる • 指摘のレベルを提示 ※当然、理由も!

    ◦ 絶対直す・直した方が好ましい・個人の趣味
  14. レビューの成果 その後、白栁がその現場から抜けてしまったので     結果が伴わない共有でごめんなさい! 分かりません!

  15. まとめ • 学習初期に行う教育的コードレビューには、 とても効果がある(はず)!※白栁の体験より ◦ 変な癖が付く前にやった方がいい • なんの為にするのか、意識合わせをしよう • 褒めるの大事!貶し合いに意味はありません

  16. ご清聴ありがとうございました エンジニアカウンセラー 白栁隆司 @ShirayanagiRyuj 心当たりのある方の「その後」の連絡、お待ちしています