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

コードレビューの文化を手探りで作っていった話

Avatar for Yasuhiroki Yasuhiroki
November 10, 2016
22

 コードレビューの文化を手探りで作っていった話

#code_kaizen
コード改善 #2 で発表したスライドです。

Avatar for Yasuhiroki

Yasuhiroki

November 10, 2016
Tweet

Transcript

  1. ࣗݾ঺հ • Yasuhiro Kiyota • @ysauhiroki • Twitter: @duck_yasuhiroki •

    GitHub: https://github.com/yasuhiroki • ։ൃऀʢݸਓʣͷͨΊͷJenkins - Git Pluginฤ • http://qiita.com/yasuhiroki/items/61a2be613fc7dcfc8682 • ͦͷγΣϧεΫϦϓτ΋͏ͪΐͬͱγϯϓϧʹॻ͚ͦ͏ TipsूʢGolf/γΣϧܳͰ͸ͳ͍ʣ • http://qiita.com/yasuhiroki/items/fad876db9e5505fceb03
  2. झຯ $ echo "#code_kaizen" | grep -o . | sed

    1d | tr '_' '|' | gsed -e '1i+-+' -e 's/./|&|/' -e '$a+-+'
  3. ౰࣌ͷঢ়گ • ৽نαʔϏε։ൃ • ϓϩτλΠϓ։ൃ • ΫϥΠΞϯτ • AndroidΞϓϦ •

    αʔόʔαΠυ • AWS RDS + AWS Lambda + AWS API Gateway ͷ
 αʔόʔϨεߏ੒ʹॳ௅ઓ
  4. ౰࣌ͷঢ়گ • νʔϜߏ੒ • ϓϩδΣΫτϦʔμʔ • ࢲ • ৽ଔ •

    ઌഐʢAndroidͷ͝ҙݟ൛ʣ • ։ൃ͸αʔόʔαΠυ͕த࣠ • αʔόʔϨεॳ௅ઓ • αʔόʔαΠυ։ൃ΋ɺνʔϜͱͯ͠͸ॳ௅ઓ
  5. ౰࣌ͷࢲͷࢥ͍ • ։ൃऀͱͯ͠ • ૣ͘ྑ͍੒ՌΛग़͢ʹ͸Ͳ͏͢Ε͹ྑ͍ͷ͔ • ྑ͍ίʔυΛॻ͘ʹ͸Ͳ͏͢Ε͹ྑ͍ͷ͔ • ઌഐͱͯ͠ •

    ҆৺ͯ͠։ൃͯ͠΋Β͏ʹ͸Ͳ͏͢Ε͹ྑ͍ͷ͔ • ࢲͷѱ͍ίʔυΛѱ͍ͱݴͬͯ΋Β͏ʹ͸Ͳ͏͢Ε͹ ྑ͍ͷ͔
  6. ίʔυϨϏϡʔґཔ࣌ͷςϯϓϨʔτ • .github/PULL_REQUEST_TEMPLATE.md Λ༻ҙ • ֓ཁ • ͦͷϓϧϦΫʹΑͬͯԿ͕ୡ੒͞Ε͔ͨ • ࣮૷಺༰ʢνΣοΫϘοΫεʣ

    • ࣮૷ͨ͠಺༰ͷՕ৚ॻ͖ • ݒ೦఺ • ≒ ݴ͍༁Λؾ࣋ͪΛॻ͘ • ʮ͜͜͸Զ΋ݏͳΜ΍…ʯ • ʮ࢓༷͕ܾ·ͬͨΒϦϑΝΫλ͢Δ͔Β…ʯ • Ϛʔδͯ͠Α͠ • ݟ·ͨ͠ΑνΣοΫϘοΫε
  7. ίʔυϨϏϡʔґཔ࣌ͷςϯϓϨʔτͷޮՌ • ϨϏϡʔϫʔࢹ఺ • ݒ೦఺ʹ͍ͭͯࢦఠ͕Ͱ͖Δ • ʮPMʹ֬ೝऔ͔ͬͨΒ͜ΕͰྑ͍Α or ௚ͯ͠ʯ •

    ϨϏϡʔΠࢹ఺ • ґཔલʹݟ௚͕͠Ͱ͖Δ • ʮ࣮૷಺༰ͷՕ৚ॻ͖͕ଟ͗͢Δ͔ΒผͷϓϧϦΫ ʹ෼͚Α͏ʯ
  8. औΓ૊Έͷ݁Ռ • 43 / 51 (68%) ͷϓϧϦΫΤετ͕
 ࡞੒͔Β1~3೔Ҏ಺ʹ Merge or

    Close
 ɹ※ Please Review ϥϕϧ͕షΒΕ͔ͯΒͰ͸ͳ͍
 ɹɹͦͷ৔߹ɺ΋ͬͱ૿͑Δ૝ఆ (ूܭͰ͖ͯͳ͍) • ͭ·ΓϓϧϦΫޙͷ
 ϨϏϡʔ -> ࢦఠՕॴͷमਖ਼ -> ࠶ϨϏϡʔ -> Ϛʔδ ͕ɺ
 1~3೔ޙʹ͸ɺ͍͍ͩͨ׬͍ྃͯ͠Δ
  9. ౰࣌ͷঢ়گ • ϓϩδΣΫτͷن໛͕ͪΐͬͱ֦େ • AndroidΞϓϦ • ຊϦϦʔεʹ޲͚ͯ௥͍ࠐΈ • ͋ͱผΞϓϦΛɺ΋͏̍ͭ௥ՃͰʂ •

    αʔόʔαΠυͷ࣮૷͸ޙճ͠ͷϓϩτλΠϓΛ • αʔόʔαΠυ • ຊϦϦʔεʹ޲͚ͯ௥͍ࠐΈ
  10. ౰࣌ͷঢ়گ • νʔϜߏ੒ • ϓϩδΣΫτϚωʔδϟʔ • αϒϦʔμʔ • ࢲ •

    2೥໨ (લճͷ৽ଔ) • 2೥໨ (New) • ઌഐʢ͝ҙݟ൪ʣ • ผΞϓϦ୲౰
  11. ൃੜͨ͠໰୊ 1 • ίϛϡχέʔγϣϯྔͷ૿େ • ̍ਓ૿͑ͨ͸ɺ+1 Ͱ͸ͳ͘ *2 ͩͬͨ •

    ίʔυϨϏϡʔґཔͷ૿Ճ • ࢲʮ͝ΊΜɺϨϏϡʔ໌೔Ҏ߱ʹͳΓ·͢ʯ͕ଟൃ • ࢲʮ͝ҙݟ൪͕OKͬͯݴͬͨΒOKͰ͢ʯ • ͝ҙݟ൪ʮ࢓༷͕෼͔Βͳ͍ͷͰࡉ͔͘ݟΕͯͳ͍ ͚Ͳɺίί͕nullͷ࣌ͷৼΔ෣͍͕͜ΕͰྑ͍ͳΒ OKͰ͢ʯ
  12. ൃੜͨ͠໰୊ 2 • 2೥໨(NEW) ͱͷจԽతɾٕज़తഎܠͷࠩ • ࢲ͕ͨͪഓ͖ͬͯͨϧʔϧɾٕज़Λઆ໌ͤͣਐΊ͍ͯͨ • ࢲʮ෼͔Μͳ͍͜ͱ͋ͬͨΒฉ͍ͯʔʯ •

    ʮϨϏϡʔ͸ԿΛݟΕ͹…ʯ • -> ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ • ʮGitͷ࢖͍ํͬͯ͜ΕͰྑ͍ͷͰ͠ΐ͏͔…ʯ • -> ͦΕ·ͰSCM͕ෆཁͳ։ൃ͕ओͩͬͨ • ʮࢼ͠ʹ࣮૷͚ͨͩ͠ͳͷͰ push ͯ͠ͳ͍Ͱ͢ʯ • -> ਖ਼͘͠ಈ͘΋ͷ͚ͩΛ remote ʹ͋͛ΔจԽͩͬͨ
  13. ੒Ռ • 2೥໨(NEW) ͕த৺ͷ৽ΞϓϦͷPR͸ɺ
 49/61(80%) ͕ 1೔ޙ·ͰʹϚʔδ͞Εͨ • 1݅ɺ Ϛʔδ·Ͱ30೔͔͔ͬͨϓϧϦΫ͕͋Δ

    • Ұ൪ॳΊͷϓϧϦΫ • Gitͷ࢖͍ํɺ։ൃํ਑ͷڞ༗͕Ͱ͖͍ͯͳ͔ͬͨͨ Ί • ͜ͷ1݅Ҏ߱ɺૣ͍ϓϧϦΫͷαΠΫϧ͕࣮ݱͰ͖ͨ