Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

デキるプログラマだけが知っているコードレビュー7つの秘訣

149.005 visualizaciones

Publicado el

SonicGarden Study #11で放送された資料から一部スライドを抜いたものになります。
http://sonicgarden.doorkeeper.jp/events/13229

-----
優れたプログラマだけが優れたソースコードを書くことができます。

では優れたプログラマになるにはどうすれば良いでしょうか。

自分の書いたコードを、優れたプログラマに指摘してもらうことが一番の近道です。それがコードレビューです。たった一人でコードレビューも受けずに、ただ書き続けてもクソコードはクソコードのままなのです。

そこで今回は、良いコードが書けるプログラマになるための、コードレビューを上手に実践する秘訣を話します。

Publicado en: Ingeniería
  • I pasted a website that might be helpful to you: ⇒ www.HelpWriting.net ⇐ Good luck!
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • If you are looking for an academic writing service in US, you can never go wrong with HelpWriting.net , where essays are available in a wide range of subjects, and academic levels from high school to PhD level.
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/39mQKz3 ❤❤❤
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Sex in your area is here: ❶❶❶ http://bit.ly/39mQKz3 ❶❶❶
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

デキるプログラマだけが知っているコードレビュー7つの秘訣

  1. 1. SonicGarden  Study  11  #sg_study   いつまでクソコードを 書き続けるの? デキるプログラマだけが知っている コードレビュー7つの秘訣 ソニックガーデン 西見 公宏 1  
  2. 2. SonicGarden  Study  11  #sg_study   西見 公宏 Nishimi Masahiro 2  
  3. 3. 自己紹介 SonicGarden  Study  11  #sg_study   西見 公宏 Masahiro Nishimi @mah_lab 昭和58年生まれ 東京育ち 2児(双子)の父親です 3  
  4. 4. 今日お話する内容 1. クソコードとは何か? 2. 優れたプログラマとは何か? 3. コードレビューが改善の近道 4. コードレビュー7つの秘訣 SonicGarden  Study  11  #sg_study   4  
  5. 5. SonicGarden  Study  11  #sg_study   1. クソコードとは何か? 5  
  6. 6. SonicGarden  Study  11  #sg_study   「クソコード」とは・・・ 6  
  7. 7. SonicGarden  Study  11  #sg_study   「クソコード」とは・・・ 読む人を怒りの渦に 叩きこむコードである 7  
  8. 8. つまり •  「クソコード」とは読んだ人の怒りを体 現した言葉である。 SonicGarden  Study  11  #sg_study   8  
  9. 9. クソコード3つの特徴 1. 読めないコード –  変数名が暗号/制御フローが無駄に複雑/メソッド名と処理の 内容が合ってない etc... 2. 要領の悪いコード –  言語レベルで用意されている機能を素直に使わない(例:Go を使っているのにゴルーチンを使わない) etc... 3. 意図がわからないコード –  フレームワークのレールに従っていない etc... SonicGarden  Study  11  #sg_study   9  
  10. 10. クソコードかどうかは 読まれるまで分からない •  シュレディンガーの猫 •  読んだ人の当事者感によって度合いが変わ る(例:「え、このコード、俺がメンテするの!?」) •  自分で読んでダメだと思うなら、最初から 直して・・・。 SonicGarden  Study  11  #sg_study   10  
  11. 11. SonicGarden  Study  11  #sg_study   2. 優れたプログラマとは何か? 11  
  12. 12. 優れたプログラマ3つの特徴 1. 「読めないコード」を書かない。 –  読みやすいコードを書く。 2. 「要領の悪いコード」を書かない。 –  言語の特性を活かした要領の良いコードを書く。 3. 「意図のわからないコード」を書かない。 –  設計の意図が明確である。 SonicGarden  Study  11  #sg_study   12  
  13. 13. 優れたプログラマを見極める簡単な試験 書いたコードの1行1行に対して、 以下の項目を質問する。 l どういう処理なのか? l どういう意図で書いたのか? SonicGarden  Study  11  #sg_study   13  
  14. 14. SonicGarden  Study  11  #sg_study   3. コードレビューが改善の近道 14  
  15. 15. まずは読まれなければはじまらない SonicGarden  Study  11  #sg_study   15   読む人に怒りをもたらすのが クソコード ならば 読む人がいなくては はじまらない
  16. 16. 誰に読まれるのがベストか? SonicGarden  Study  11  #sg_study   16   優れたプログラマ
  17. 17. 何故優れたプログラマが読むべきなのか? SonicGarden  Study  11  #sg_study   17   •  単純に同じレベルのプログラマが指摘しても、 指摘の内容に限界があるため。 限界の壁
  18. 18. 優れたプログラマは限界を引き上げます SonicGarden  Study  11  #sg_study   18   •  レビューの中で小手先のテクニックに終始しない「優れ たプログラマの考え方」を伝えていくことで、チームの 限界を引き上げていきます。
  19. 19. •  いくら優れたプログラマと言えども、闇雲にレビューを するのでは効果がありません。 ただし・・・ SonicGarden  Study  11  #sg_study   19   ・・・
  20. 20. •  ソニックガーデンでも新しく入ったプログラマを教育す る手段としてコードレビューを取り入れています。 •  その中で気付いたポイントをいくつかピックアップしま した。 •  それが今からお伝えする「7つの秘訣」です。 より効果を上げるために SonicGarden  Study  11  #sg_study   20  
  21. 21. SonicGarden  Study  11  #sg_study   4. コードレビュー7つの秘訣 21  
  22. 22. 1. レビューの観点を明確にすること SonicGarden  Study  11  #sg_study   22  
  23. 23. 1. レビューの観点を明確にすること •  リリース前レビューの話なのか、コード品 質の話なのか。 •  読む側も漠然と読んで、漠然とコメントを 書くのでは効果を生まない。 – 観点を明確にしてレビューすることで指摘す る側の精度も上がります。 SonicGarden  Study  11  #sg_study   23  
  24. 24. 2. 我が身に返ることを恐れずに指摘す ること SonicGarden  Study  11  #sg_study   24  
  25. 25. 2. 我が身に返ることを恐れずに指摘するこ と •  自分のことは棚に上げる! •  鋭くツッコミを入れられないなら、レ ビューの意味は無い。 •  指摘して自分の耳が痛いなら、自分にとっ ても成長のチャンスだと捉える。 SonicGarden  Study  11  #sg_study   25  
  26. 26. 3. 何故悪いコードなのかを論理的に 説明すること SonicGarden  Study  11  #sg_study   26  
  27. 27. 3. 何故悪いコードなのかを論理的に説明す ること •  「何となく汚い」は指摘ではない。 •  悪いコードだと判断したなら、相手が納 得できるように、論理的に説明する。 •  論理的に説明できないなら指摘をすべきで はない。 SonicGarden  Study  11  #sg_study   27  
  28. 28. 4. 良いコードについて共通認識を持つ こと SonicGarden  Study  11  #sg_study   28  
  29. 29. 4. 良いコードについて共通認識を持つこと •  コードレビューのあとに雰囲気が悪くなるの はチームで「良いコード」の認識が揃ってい ない証拠。 •  「良いコード」を共有することでチームとし て成長する。 •  認識を揃えるためには、あるコードを題材に ディスカッションの機会を設けると良い。 SonicGarden  Study  11  #sg_study   29  
  30. 30. SonicGarden  Study  11  #sg_study   30   チームでディスカッションの 機会を持つ例
  31. 31. 5. 小さい単位でレビューを繰り返すこ と SonicGarden  Study  11  #sg_study   31  
  32. 32. 5. 小さい単位でレビューを繰り返すこと •  大きな単位だとレビューする側もされる 側も出番が回ってきにくい。 – 機会を増やすことでみんながレビュー体験を する/小口化することで習慣化する •  チーム全体で誰かの書いたコードをレ ビューするのも有効。 SonicGarden  Study  11  #sg_study   32  
  33. 33. 6. 指摘は素直な気持ちで受け入れるこ と SonicGarden  Study  11  #sg_study   33  
  34. 34. 6. 指摘は素直な気持ちで受け入れること •  指摘を素直に受け止められないと成長で きない。 •  受け入れた後は同じ失敗を繰り返さない。 – 漠然とコードレビューを受けて、その場はそ の場で何とかやり過ごして、また同じ失敗を 繰り返すメンタルモデルではダメ。 SonicGarden  Study  11  #sg_study   34  
  35. 35. 7. 指摘は人格否定でないことを理解す ること SonicGarden  Study  11  #sg_study   35  
  36. 36. 7. 指摘は人格否定でないことを理解するこ と •  自分が一生懸命書いたコードに対して手厳 しく指摘を受けるのは辛いこと。。 •  でも、指摘するのはコードであって、あな たの人格を否定しているわけではありませ ん! •  お互いに「コード」の話をしている、とい うことを理解した上で指摘をしましょう。 SonicGarden  Study  11  #sg_study   36  
  37. 37. SonicGarden  Study  11  #sg_study   まとめ 37  
  38. 38. 今日お話した内容 1. クソコードとは何か? 2. 優れたプログラマとは何か? 3. コードレビューが改善の近道 4. コードレビュー7つの秘訣 SonicGarden  Study  11  #sg_study   38  
  39. 39. 今日お話した内容 •  クソコードとは読む人を怒りの渦に叩き こむコードである。 •  優秀なプログラマに読まれる機会があれ ば、その人のコードは劇的に改善する。  (※ 効用には個人差があります) SonicGarden  Study  11  #sg_study   39  
  40. 40. 今日お話した内容 1.  レビューの観点を明確にすること 2.  我が身に返ることを恐れずに指摘すること 3.  何故悪いコードなのかを論理的に説明すること 4.  良いコードについて共通認識を持つこと 5.  小さい単位でレビューを繰り返すこと 6.  指摘は素直な気持ちで受け入れること 7.  指摘は人格否定でないことを理解すること SonicGarden  Study  11  #sg_study   40  
  41. 41. SonicGarden  Study  11  #sg_study   ご視聴ありがとうございました! 41  

×