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

コードレビューをカイゼンする基本の考え方 / How to kaizen code reviewing

mazamachi
December 01, 2021

コードレビューをカイゼンする基本の考え方 / How to kaizen code reviewing

2021-12-01 開催のコードレビュー LT会 #codereviewlt で LT した際の資料です。 https://rakus.connpass.com/event/227733/

レビューすることを減らそうという話をしてます。

mazamachi

December 01, 2021
Tweet

Other Decks in Programming

Transcript

  1. ͨ·ʹى͖ͯͨϛε ৽نϝϯόʔ ϨϏϡϫʔ ίʔυॻ͍ͯΈͨʂϨϏϡʔ͓ئ͍͠·͢ let ͡Όͳͯ͘ const ࢖ͬͯͶ ม਺໊͸খจࣈͰ͓ئ͍͠·͢ Ͳ͏͍͏ಈ࡞֬ೝ͔ͨ͠ڭ͍͑ͯͩ͘͞

    ௚ͯ͠Έ·ͨ͠ʂ ͋Γ͕ͱ͏ʂ approve Ͱ͢ ޙʹ΋ͬͱେ͖ͳ໰୊ʢόά΍ઃܭϛεʣ͕ൃ֮ ύοͱ໨ʹͭ͘໰୊͹͔Γ ϨϏϡʔͯ͠͠·͏
  2. Happy Story ৽نϝϯόʔ ϨϏϡϫʔ ͳΔ΄Ͳɺ͜ͷ repository Ͱ͸͜͏ॻ͘ͷ͔ let ͡Όͳͯ͘ const

    ࢖ͬͯͶ ม਺໊͸খจࣈͰ͓ئ͍͠·͢ ͜͜ͷίʔυɺ͜͏ॻ͍ͨ΄͏͕ྑ͍ͱࢥ͏ ͜͜ςετέʔε଍ͨ͠΄͏͕ྑ͍Α ͜͏͍͏࣌ʹόάΓͦ͏ ࣄલઆ໌จॻ CI
  3. Happy Story ৽نϝϯόʔ ϨϏϡϫʔ ͳΔ΄Ͳɺ͜ͷ repository Ͱ͸͜͏ॻ͘ͷ͔ let ͡Όͳͯ͘ const

    ࢖ͬͯͶ ม਺໊͸খจࣈͰ͓ئ͍͠·͢ ͜͜ͷίʔυɺ͜͏ॻ͍ͨ΄͏͕ྑ͍ͱࢥ͏ ͜͜ςετέʔε଍ͨ͠΄͏͕ྑ͍Α ͜͏͍͏࣌ʹόάΓͦ͏ ࣄલઆ໌จॻ CI ೉͍͚͠Ͳେࣄͳ෦෼ʹूதͯ͠ϨϏϡʔͰ͖Δ
  4. ίʔυϨϏϡʔͰݟΔ͜ͱ • ίʔσΟϯάن໿ʹԊ͍ͬͯΔ͔ • ςετ͸ॻ͍ͯ͋Δ͔ • ςετ͸௨Δͷ͔ • ςετέʔε͸ద੾͔ •

    ୭ͷϨϏϡʔ͕ඞཁ͔ • ࣮ࡍʹಈ͘ͷ͔ • อकੑͷߴ͍ίʔυʹͳ͍ͬͯΔ͔ • σϓϩΠ͢ΔࡍʹͲΜͳ४උ͕ඞཁ͔ • GIt ͷίϛοτϩά͸ݟ΍͘͢ͳ͍ͬͯΔ͔ • Θ͔Γ΍͍͢ίϝϯτ͸ॻ͍ͯ͋Δ͔ • ΑΓྑ͍ॻ͖ํ͸ͳ͍͔ • ར༻ϥΠϒϥϦͷόʔδϣϯ͸ద੾͔ • etc…
  5. ίʔσΟϯάن໿ʹ
 Ԋ͍ͬͯΔ͔ GIt ͷίϛοτϩά͸ ݟ΍͘͢ͳ͍ͬͯΔ͔ ςετέʔε͸ద੾͔ ࣮ࡍʹಈ͘ͷ͔ ΑΓྑ͍ॻ͖ํ͸ͳ͍͔ Θ͔Γ΍͍͢ίϝϯτ͸ ॻ͍ͯ͋Δ͔

    อकੑͷߴ͍ίʔυʹ ͳ͍ͬͯΔ͔ σϓϩΠ͢Δࡍʹ ͲΜͳ४උ͕ඞཁ͔ ࣗಈςετ͸௨Δͷ͔ ୭ͷϨϏϡʔ͕ ඞཁ͔ ར༻ϥΠϒϥϦͷ όʔδϣϯ͸ద੾͔ ࣗಈԽ
 ͠΍͍͢ ඞཁͳ஌͕ࣝଟ͍ ඞཁͳ஌͕ࣝগͳ͍ ࣗಈԽ
 ͮ͠Β͍
  6. ίʔσΟϯάن໿ʹ
 Ԋ͍ͬͯΔ͔ GIt ͷίϛοτϩά͸ ݟ΍͘͢ͳ͍ͬͯΔ͔ ςετέʔε͸ద੾͔ ࣮ࡍʹಈ͘ͷ͔ ΑΓྑ͍ॻ͖ํ͸ͳ͍͔ Θ͔Γ΍͍͢ίϝϯτ͸ ॻ͍ͯ͋Δ͔

    อकੑͷߴ͍ίʔυʹ ͳ͍ͬͯΔ͔ σϓϩΠ͢Δࡍʹ ͲΜͳ४උ͕ඞཁ͔ ࣗಈςετ͸௨Δͷ͔ ୭ͷϨϏϡʔ͕ ඞཁ͔ ᶃ ࣗಈԽͰ Ͳ͏ʹ͔ͳΔ ྖҬ ᶄ ࣄલʹ͢Γ߹Θͤ Δ΂͖ྖҬ ίʔυϨϏϡʔ ͢Δ΂͖ྖҬ ࣗಈԽ
 ͠΍͍͢ ඞཁͳ஌͕ࣝଟ͍ ඞཁͳ஌͕ࣝগͳ͍ ࣗಈԽ
 ͮ͠Β͍
  7. ίʔσΟϯάن໿ʹ
 Ԋ͍ͬͯΔ͔ GIt ͷίϛοτϩά͸ ݟ΍͘͢ͳ͍ͬͯΔ͔ ςετέʔε͸ద੾͔ ࣮ࡍʹಈ͘ͷ͔ ΑΓྑ͍ॻ͖ํ͸ͳ͍͔ Θ͔Γ΍͍͢ίϝϯτ͸ ॻ͍ͯ͋Δ͔

    อकੑͷߴ͍ίʔυʹ ͳ͍ͬͯΔ͔ σϓϩΠ͢Δࡍʹ ͲΜͳ४උ͕ඞཁ͔ ࣗಈςετ͸௨Δͷ͔ ୭ͷϨϏϡʔ͕ ඞཁ͔ ᶃ ࣗಈԽͰ Ͳ͏ʹ͔ͳΔ ྖҬ ᶄ ࣄલʹ͢Γ߹Θͤ Δ΂͖ྖҬ ίʔυϨϏϡʔ ͢Δ΂͖ྖҬ ࣗಈԽ
 ͠΍͍͢ ඞཁͳ஌͕ࣝଟ͍ ඞཁͳ஌͕ࣝগͳ͍ ࣗಈԽ
 ͮ͠Β͍
  8. ᶃࣗಈԽͷྫ • CI্ͰϏϧυ΍ςετΛ૸ΒͤΔ • CIͰࣗಈϑΥʔϚολʢe.g. Prettierʣ΍ Linter (e.g. eslint) ΋૸ΒͤΔ

    • GitHub ͷػೳͷ Problem Matchers Λ࢖͏ͱɺ
 ίʔυϨϏϡʔͬΆ͍ίϝϯτΛࣗಈͰ͚ͭͯ͘Εͯศར • CODEOWNERSϑΝΠϧΛ׆༻ͯ͠ɺࣗಈͰ review request ग़དྷΔΑ͏ʹ͢Δ • CI ্ͰϥΠϒϥϦΠϯετʔϧͯ͠ lock ϑΝΠϧͱࠩ෼͕ͳ͍͔νΣοΫ͢Δ
  9. ίʔσΟϯάن໿ʹ
 Ԋ͍ͬͯΔ͔ GIt ͷίϛοτϩά͸ ݟ΍͘͢ͳ͍ͬͯΔ͔ ςετέʔε͸ద੾͔ ࣮ࡍʹಈ͘ͷ͔ ΑΓྑ͍ॻ͖ํ͸ͳ͍͔ Θ͔Γ΍͍͢ίϝϯτ͸ ॻ͍ͯ͋Δ͔

    อकੑͷߴ͍ίʔυʹ ͳ͍ͬͯΔ͔ σϓϩΠ͢Δࡍʹ ͲΜͳ४උ͕ඞཁ͔ ࣗಈςετ͸௨Δͷ͔ ୭ͷϨϏϡʔ͕ ඞཁ͔ ᶃ ࣗಈԽͰ Ͳ͏ʹ͔ͳΔ ྖҬ ᶄ ࣄલʹ͢Γ߹Θͤ Δ΂͖ྖҬ ίʔυϨϏϡʔ ͢Δ΂͖ྖҬ ࣗಈԽ
 ͠΍͍͢ ඞཁͳ஌͕ࣝଟ͍ ඞཁͳ஌͕ࣝগͳ͍ ࣗಈԽ
 ͮ͠Β͍
  10. ᶄࣄલ͢Γ߹Θͤͷྫ • pull_request_template.md Λ׆༻ͯ͠ɺPR description ʹॻ͘΂͖಺༰Λ ຖճΘ͔Γ΍͘͢͢Δ • ࣾ಺ wiki

    ʢScrapboxʣʹ README ΍ CONTRIBUTING.md తͳ಺༰Λ༻ ҙ͢Δ • GitHub ্Ͱϝϯς͢ΔͱɺPRग़͢ඞཁ͕͋ͬͯ໘౗ɻߋ৽͠΍͍͢৔ ॴʹ͋ͬͨ΄͏͕ྑ͍ͱߟ͍͑ͯΔɻ • Θ͔Γ΍͔ͬͨ͢/ϨϏϡʔͰྑ͘ͳͬͨPRΛެͷ৔Ͱশ͑Δ
  11. ࠷ޙʹCMͰ͢ɿ ࠾༻ͯ͠·͢ʂ • HERP Culture Deck: https://culture.herp.co.jp/ • ΤϯδχΞ޲͚࠾༻ࢿྉ: https://github.com/herp-inc/engineering-careers

    • ΤϯδχΞܥ৬छ࠾༻ϖʔδ: https://herp.careers/v1/herpinc/requisition- groups/84aec4e1-19c7-4268-b62a-027470d1ebd9