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

先輩から教えてもらったコードレビュー

 先輩から教えてもらったコードレビュー

LT大会にお呼ばれしました。
内容は以前ブログにしたためた「コードレビューするのが怖いと思っていたエンジニアが半年間コードレビューを経験して思った 10 のこと」についてです☺
http://b.hatena.ne.jp/entry/yutokyokutyo.hatenablog.com/entry/20161213/1481590322

29e56b648817fd8537761c0375c6ff4c?s=128

Yuto Kondo

March 07, 2017
Tweet

Transcript

  1. ۙ౻༟ే(.01FQBCP *OD ʲࣾ߹ಉ-5େձʳ(.0ϖύϘɾ+BQBO5BYJɾΦΠγοΫε ઌഐ͔Βڭ͑ͯ΋Βͬͨ ίʔυϨϏϡʔ ۙ౻༟ే(.01FQBCP *OD ʲࣾ߹ಉ-5େձʳ(.0ϖύϘɾ+BQBO5BYJɾΦΠγοΫε

  2. 磦堄嫵㞷

  3. None
  4. υϯͱݟ͍ͤͨςΩετΛೖΕΔ

  5. ܦҢ

  6. ZVUPLZPLVUZPIBUFOBCMPHDPNFOUSZ

  7. IUUQTXXXTMJEFTIBSFOFUUBLBGVNJPOBLBTT

  8. ͸͡·Γ

  9. ొ৔ਓ෺঺հ ⃂ ߶ഠƑ༵Ḻ

  10. None
  11. ίʔυϨϏϡʔ΍ͬͯΈͳ͍ʁ ˞։ൃνʔϜϝϯόʔ

  12. ίʔυϨϏϡʔ ͳΜͯͰ͖Δ͸ͣͳ͍Α

  13. ͩͬͯ ίʔυϦʔσΟϯά ͢ΒͰ͖ͳ͍ΜͩΑʁ

  14. ίʔυϨϏϡʔ͸ αʔϏεͷίʔυΛख़஌ ͍ͯ͠Δਓ͡Όͳ͍ͱ Ͱ͖ͳ͍Μ͡Όͳ͍͔ͳʁ

  15. ࢲୡ͕αϙʔτ͠·͢ʂ ˞։ൃνʔϜϝϯόʔ

  16. ΍ͬͯΈΔ͔ɻ

  17. ͜ͷΑ͏ʹͯ͠ ๻ͷίʔυϨϏϡʔਓੜ͕ ελʔτ͠·ͨ͠ɻ

  18. ͱ͸͍͑ϨϏϡʔॳ৺ऀΛ ์ஔ͓ͯ͘͠Θ͚ʹ͸͍͖·ͤΜɻ

  19. ์͓ͬͯ͘ͱ

  20. େৎ෉͡Όͳ͍͔ͳɻ ଟ෼େৎ෉ͩΖ͏ʂ ϙνοͱͳ

  21. େৎ෉͡Όͳ͍͔ͳɻ ଟ෼େৎ෉ͩΖ͏ʂ ා͗͢Δ

  22. Ͳ͏΍͔ͬͨʁ

  23. Ȃǩǻƺ✣ Ȃǩǻȅ✣

  24. Ȃǩǻƺ✣ Ȃǩǻȅ✣ ϨϏϡʔ ͓Ͷ͠Ό͢

  25. Ȃǩǻƺ✣ Ȃǩǻȅ✣ ϨϏϡʔ ͓Ͷ͠Ό͢ -(5.

  26. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ

  27. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ઌഐ͕ ࣍ड͚

  28. ύλʔϯ̍

  29. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢

  30. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. ϨϏϡʔ ͓Ͷ͠Ό͢

  31. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. -(5. ϨϏϡʔ ͓Ͷ͠Ό͢

  32. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ NBTUFSʹ Ϛʔδ͠·͢ -(5. -(5.

  33. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ NBTUFSʹ Ϛʔδ͠·͢ -(5. -(5. ϨϏϡΠʔ͕҆৺ ๻΋҆৺ αʔϏε΋҆શ

  34. ύλʔϯ̎

  35. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ

  36. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢

  37. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ Μʁͪ͜͜ΐͬͱ ͓͔͍͔͠΋ ϨϏϡʔ ͓Ͷ͠Ό͢

  38. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ Μʁͪ͜͜ΐͬͱ ͓͔͍͔͠΋ ͔֬ʹͶʂ ΋ͬͱ͍͍ॻ͖ํ Ͱ͖ͦ͏ʂ

  39. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ ๻ͷߟ͑͸ ਖ਼͔ͬͨ͠Μͩʂ ͔֬ʹͶʂ ΋ͬͱ͍͍ॻ͖ํ Ͱ͖ͦ͏ʂ

  40. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ Μʁͪ͜͜ΐͬͱ ͓͔͍͔͠΋ ͔֬ʹͶʂ ΋ͬͱ͍͍ॻ͖ํ Ͱ͖ͦ͏ʂ

    ࣗ෼͕ҧ࿨ײΛ࣋ͬͨ Օॴ͕ਖ਼͍͠ͱ ೝࣝͰ͖Δ
  41. ύλʔϯ̏

  42. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ

  43. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢

  44. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. ϨϏϡʔ ͓Ͷ͠Ό͢

  45. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. ϨϏϡʔ ͓Ͷ͠Ό͢ ͍΍͍΍ʂ ͕͓͔͍͜͜͠ͱ ࢥ͏ͧ͒ʂ

  46. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ ͳΔ΄Ͳɻ ͦ͏͍͏ߟ͑ํ͕ ͋ͬͨͷ͔ ͍΍͍΍ʂ ͕͓͔͍͜͜͠ͱ

    ࢥ͏ͧ͒ʂ
  47. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ ͍΍͍΍ʂ ͕͓͔͍͜͜͠ͱ ࢥ͏ͧ͒ʂ ͳΔ΄Ͳɻ ͦ͏͍ͬͨߟ͑ํ͕

    ͋ͬͨͷ͔ ࣗ෼ͷதʹଘࡏ͢Δ όουύλʔϯʹؾ෇͘ ͜ͱ͕Ͱ͖Δ
  48. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ ͳΔ΄Ͳɻ ͦ͏͍͏ߟ͑ํ͕ ͋ͬͨͷ͔ ͍΍͍΍ʂ ͕͓͔͍͜͜͠ͱ

    ࢥ͏ͧ͒ʂ ࣗ෼ʹ͸ͳ͍ࢹ఺΍ߟ͑ ํΛֶͿ͜ͱ͕Ͱ͖Δ
  49. ύλʔϯ̐

  50. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ

  51. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢

  52. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. ϨϏϡʔ ͓Ͷ͠Ό͢

  53. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ -(5. ϨϏϡʔ ͓Ͷ͠Ό͢ ཱ೿ʹ ͳͬͨͳ͊☺

  54. Ȃǩǻ✣၇内 Ց൳Ŵ Ց൳Ŵ ϨϏϡʔ ͓Ͷ͠Ό͢ ͍΍͍΍ʂ ͕͓͔͍͜͜͠ͱ ࢥ͏ͧ͒ʂ ͳΔ΄Ͳɻ ͦ͏͍ͬͨߟ͑ํ͕

    ͋ͬͨͷ͔ ׳Ε͍ͯ͘ʹͭΕͯ ҰਓͰϨϏϡʔͰ͖Δ ྔ͕૿͍͑ͯ͘
  55. ϲ݄ޙ

  56. ໰୊ʹͿͪ౰ͨΓ·ͨ͠ɻ

  57. ҰਓͰίʔυϨϏϡʔΛ ͢Δͱ͖ʹࣗ৴͕࣋ͯͳ͍

  58. ઌഐୡͷΑ͏ʹత֬ͳ ίʔυϨϏϡʔ͕Ͱ͖ͳ͍

  59. ͳ͔ͳ͔ಠΓཱͪͰ͖ͳ͍যΓ

  60. νʔϜϝϯόʔͱ;Γ͔͑Γ ˞։ൃνʔϜϝϯόʔ

  61. ˞։ൃνʔϜϝϯόʔ ·ͣୈҰʹযΒͳͯ͘େৎ෉ɻ Ͱ͖Δ͜ͱ͔Β΍͍ͬͯ͜͏ɻ

  62. ˞։ൃνʔϜϝϯόʔ ҧ࿨ײΛ࣋ͭ΂͖Օॴ͸ඞͣͰͯ͘Δɻ ͦͷՕॴʹ͍ͭͯʮͳͥ͜ͷΑ͏ʹॻ͍ͨͷ Ͱ͔͢ʁʯͱ࣭໰͢Δ͚ͩͰ΋ྑ͍ΜͩΑɻ

  63. ˞։ൃνʔϜϝϯόʔ Կ͔ٙ໰Λ࣋ͬͨͱ͍͏͜ͱ͸΍Γ͍ͨ͜ͱ ͕ͦͷίʔυ͔ΒಡΈऔΕͳ͔͔ͬͨΒʂ ͦΕ͸͖ͬͱͲ͔͜ʹٞ࿦΍վળͷ༨஍͕͋ Δͬͯ͜ͱͳΜ͡Όͳ͍͔ͳʁ

  64. ˞։ൃνʔϜϝϯόʔ ҧ࿨ײΛ࣋ͬͯఏى͚ͨͩ͠ͷίϝϯτ͚ͩ Ͱ΋ɺϨϏϡΠʔʹ࠶ߟͤ͞Δ͜ͱͰ৽ͨͳ ൃݟ͕ੜ·ΕͨΓ͢Δ͜ͱ΋͋ΔΜͩɻ

  65. ˞։ൃνʔϜϝϯόʔ (JU)VC্Ͱͷ΍ΓͱΓ͸4MBDLʹ௨஌͞Ε ΔΑͶʁͦΕΛݟͨνʔϜϝϯόʔ͔Β·ͨ ৽ͨͳίϝϯτΛ໯͑Δ͜ͱͩͬͯ͋Δɻ

  66. ˞։ൃνʔϜϝϯόʔ ͔ͩΒͦͷҰา͸ઈରʹແବʹͳΒͳ͍ɻ ༐ؾΛ࣋ͬͯൃݴ͍ͯ͜͠͏ʂ

  67. ͜Μͳࣗ෼Ͱ΋Ͱ͖Δ ͔΋͠Εͳ͍ɻ

  68. ൒೥ޙ

  69. ؾ͕͍ͭͨΒ਺ඦ݅ʹٴͿ ίʔυϨϏϡʔΛ͜ͳ͍ͯ͠·ͨ͠ɻ

  70. ൒೥ؒΛ;Γ͔͑ͬͯΈͨ

  71. ϨϏϡΞʔͷࢹ఺Λ ࣋ͭΑ͏ʹͳͬͨ

  72. ϨϏϡΞʔͷࢹ఺Λ࣋ͭΑ͏ʹͳͬͨ wҙਤ͕͸͖ͬΓ໌ࣔ͞Ε͍ͯΔ΂͖ wίϛοτͷཻ౓͕ద੾ͰྲྀΕͷ͋Δ΋ͷͱͳ͍ͬͯΔ΂͖ wಈ࡞ݕূ݁Ռ΍ςετ݁Ռ͕໌ࣔ͞Ε͍ͯΔ΂͖ wؔ࿈͢ΔJTTVF΍13ͷϦϯΫ͕షΒΕ͍ͯΔ΂͖

  73. Πϯσϯτमਖ਼͸ ਓ͕ؒ΍Δ΂͖Ͱ͸ͳ͍

  74. Πϯσϯτमਖ਼͸ਓ͕ؒ΍Δ΂͖Ͱ͸ͳ͍ wਓ͕ؒ΍Δ΂͖͜ͱͱػց͕΍Δ΂͖͜ͱ͸۠ผ͢Δ΂͖ wػց͕Ͱ͖Δ͜ͱʹ͍ͭͯ͸ਓ͕ؒ΍ΔΑΓ΋ػցʹ೚ͤͨํ͕਺ඦ ഒޮ཰͕ྑ͘ਖ਼֬ͳͷͰੵۃతʹ΍ΒͤΔ΂͖ wςετͷ࣮ߦ͸$*ʹɺΠϯσϯτͷमਖ਼΍ࢦఠʹ͍ͭͯ͸ݴޠຖʹ ͋ΔϦϯτπʔϧΛ࢖͏͜ͱ wਓؒ͸ػցʹ͸Ͱ͖ͳ͍ൃ૝΍ߟ͑Δ͜ͱʹ࣌ؒΛඅ΍͢Α͏ʹ͢Δ ΂͖

  75. ϨϏϡʔ͸औΓࠐΉ΋ͷ

  76. ϨϏϡʔ͸औΓࠐΉ΋ͷ wຊདྷίʔυϨϏϡʔจԽͷ͋Δ΂͖ਖ਼͖࢟͠͸νʔϜؒͰٞ࿦Λͯ͠ αʔϏεʹͱͬͯ࠷ऴతʹྑ͍ͱ൑அͨ͜͠ͱΛऔΓࠐΉ͜ͱͰ͋Γɺ ΋͠΋मਖ਼͢Δͱ͍͏಺༰ͳͷͰ͋Ε͹ͦΕ͸ϨϏϡΞʔͷҙݟΛऔ ΓࠐΉ͜ͱɻ wमਖ਼ͱ͍͏ݴ༿͸࢖ΘͣʹϨϏϡʔΛऔΓࠐΉͱ͍͏දݱΛ࢖͏ Α͏ʹ͍ͯ͠·͢ɻ

  77. ϨϏϡʔ͸औΓࠐΉ΋ͷ wຊདྷίʔυϨϏϡʔจԽͷ͋Δ΂͖ਖ਼͖࢟͠͸νʔϜؒͰٞ࿦Λͯ͠ αʔϏεʹͱͬͯ࠷ऴతʹྑ͍ͱ൑அͨ͜͠ͱΛऔΓࠐΉ͜ͱͰ͋Γɺ ΋͠΋मਖ਼͢Δͱ͍͏಺༰ͳͷͰ͋Ε͹ͦΕ͸ϨϏϡΞʔͷҙݟΛऔ ΓࠐΉ͜ͱɻ wमਖ਼ͱ͍͏ݴ༿͸࢖ΘͣʹϨϏϡʔΛऔΓࠐΉͱ͍͏දݱΛ࢖͏ Α͏ʹ͍ͯ͠·͢ɻ

  78. ίʔυϨϏϡʔͱ͸ʁ ໰୊WTࢲୡ

  79. ίʔυϨϏϡʔͱ͸ʁ wʮ໰୊WTࢲୡʯͱ͍͏ߏਤΛৗʹ๨Εͣɺ࠷ྑͷίʔυΛνʔϜͰߟ ͑ಋ͖ग़͠࢒͢͜ͱɻ wνʔϜͰ࠷ྑͷίʔυΛ࢒͢ͱ͍͏໨తΛ๨Εͳ͚Ε͹ɺͲΜͳϨ Ϗϡʔίϝϯτ΋ʮ࠷ྑͷίʔυΛ࢒ͨ͢ΊʹԕྀͤͣʹҙݟΛड़΂ ͯ͘Ε͍ͯΔʯͱߟ͑Δ͜ͱͰ͖Δɻ wϨϏϡΠʔͱϨϏϡΞʔͷ૒ํ͕ޓ͍ʹ໨తΛҰகͤ͞ԕྀͤͣʹา ΈدΔ͜ͱͰ࠷ߴͷίʔυϨϏϡʔ͕Ͱ͖Δɻ

  80. ֆจࣈɾإจࣈɾײ୰ූ ΛదࡐదॴͰ࢖͏

  81. ྑͦ͞͏ͳྫ w߹ཧతނʹগ͠ݫ͠Ίͳίϝϯτͱͳͬͯ͠·͍ͬͯͯ΋ɺ຤ඌʹস إͷإจࣈ΍ײ୰ූ͕͋Δ͚ͩͰ҆৺ΛಘΔ͜ͱ͕Ͱ͖Δͱ৴ͯ͡· ͢ɻ

  82. ѱ͍ྫ wจ຺ͱશؔ͘܎ͷͳ͍ֆจࣈͷ࢖༻͸Φεεϝ͠·ͤΜɻ wͳͥͳΒɺ૬खʹҙຯෆ໌ͳֆจࣈΛ࢖ͬͨཧ༝Λߟ͑ͤͯ͞͠·͏ ͨΊͰ͢ɻ

  83. ࿦ཧºײ৘༏উ

  84. ࠷ޙʹ

  85. εΩϧ ढจ ίʔυϨϏϡʔ ϝϥκʔϚ ίʔυϥΠςΟϯά ϝϥϛ ίʔυϦʔσΟϯά ϝϥ शಘ ೉қ౓

  86. εΩϧ ढจ ίʔυϨϏϡʔ ϝϥκʔϚ ίʔυϥΠςΟϯά ϝϥϛ ίʔυϦʔσΟϯά ϝϥ शಘ ೉қ౓

  87. ίʔυϨϏϡʔ΍ ίʔυϦʔσΟϯά͸ ֶशͷஈ֊෇͚͕ॎʹͳ͍ͬͯͳ͍

  88. ΤϯδχΞͱͯ͠ͷࢹ໺

  89. ΤϯδχΞͱͯ͠ͷࢹ໺

  90. ΤϯδχΞͱͯ͠ͷࢹ໺

  91. ΤϯδχΞͱͯ͠ͷࢹ໺ ઌഐୡ͕ॻ͘៉ྷͰચ࿅͞Εͨ ͓खຊͱͳΔίʔυΛ ϨϏϡΞʔͱͯ͠Կ౓΋ݟΔ͜ͱ͕Ͱ͖ͨ

  92. ΤϯδχΞͱͯ͠ͷࢹ໺ ίʔυϨϏϡʔΛ͢Δ͜ͱͰ ϘτϧωοΫͱͳ͍ͬͯͨ ϦʔσΟϯάɾϥΠςΟϯάɾઃܭྗɾςετ ͷجૅతͳྗ͕ߴ଎Ͱ਎ʹ͍ͭͨ

  93. ΤϯδχΞͱͯ͠ͷࢹ໺ ίʔυϨϏϡʔΛ௨ͯ͠νʔϜͷΤϯδχΞͱ ڞʹϓϩμΫτΛ଄Γ্͛ͳ͕Β࣮ઓͰಘΒΕ Δ஌ݟ͸୅͕͍͑ͨ΋ͷ͕͋Δ

  94. ͔ͭͯͷ๻ͷΑ͏ʹ ίʔυϨϏϡʔͷҰาΛ ౿Έग़ͤͣʹ͍Δ͋ͳͨʂ

  95. νʔϜͷதʹίʔυϨϏϡʔΛ ͍ͯ͠ͳ͍ະ੒ख़ͷΤϯδχΞ ͞Μ͕͍Δ͋ͳͨʂ

  96. ੋඇ͜ͷػձʹίʔυϨϏϡʔΛ ࢝ΊΔɾ༠ͬͯ͋͛Δ ͷ͸͍͔͕Ͱ͠ΐ͏͔ʂ✨

  97. ΦϑΟεͷݟֶʹདྷ·ͤΜ͔ʁ ڵຯ͋Δํ͓੠͕͚͍ͩ͘͞☺ ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU