Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
コードレビューの文化を手探りで作っていった話
Search
Yasuhiroki
November 10, 2016
47
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コードレビューの文化を手探りで作っていった話
#code_kaizen
コード改善 #2 で発表したスライドです。
Yasuhiroki
November 10, 2016
More Decks by Yasuhiroki
See All by Yasuhiroki
自分に勉強させるには
yasuhiroki
1
470
Android Studio `Command+Shift+A`
yasuhiroki
0
400
シェルスクリプトをサーバーレスで cron したい
yasuhiroki
1
950
rails new コマンド
yasuhiroki
1
860
自動化を習慣化する
yasuhiroki
2
15k
GitHub Actions Parallel Testing
yasuhiroki
1
1.4k
circleci.vim
yasuhiroki
0
1.9k
ベンチャー企業がCircleCIを選んだ理由と活用方法
yasuhiroki
1
880
Rubyの正規表現を調べてみた
yasuhiroki
0
1k
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
Optimizing for Happiness
mojombo
378
71k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
BBQ
matthewcrist
89
10k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Prompt Engineering for Job Search
mfonobong
0
450
Designing for Timeless Needs
cassininazir
1
480
Transcript
ίʔυϨϏϡʔͷจԽΛ ख୳Γ࡞͍ͬͯͬͨ Yasuhiro Kiyota @yasuhiroki
ࣗݾհ
ࣗݾհ • 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
https://certificates.cloudbees.com/10203903
झຯ $ echo "#code_kaizen" | grep -o . | sed
1d | tr '_' '|' | gsed -e '1i+-+' -e 's/./|&|/' -e '$a+-+'
ຊ
ίʔυϨϏϡʔͷจԽΛ ख୳Γ࡞͍ͬͯͬͨ
Agenda • ࢲͱ৽ଔͷ2ਓνʔϜͷ࣌ • ࢲͱ22ਓͷ3ਓνʔϜͷ࣌
ࢲͱ৽ଔͷ2ਓνʔϜͷ࣌
࣌ͷঢ়گ • ৽نαʔϏε։ൃ • ϓϩτλΠϓ։ൃ • ΫϥΠΞϯτ • AndroidΞϓϦ •
αʔόʔαΠυ • AWS RDS + AWS Lambda + AWS API Gateway ͷ αʔόʔϨεߏʹॳઓ
࣌ͷঢ়گ • νʔϜߏ • ϓϩδΣΫτϦʔμʔ • ࢲ • ৽ଔ •
ઌഐʢAndroidͷ͝ҙݟ൛ʣ • ։ൃαʔόʔαΠυ͕த࣠ • αʔόʔϨεॳઓ • αʔόʔαΠυ։ൃɺνʔϜͱͯ͠ॳઓ
࣌ͷঢ়گ • ༗ࣝऀෆࡏ
࣌ͷঢ়گ • ༗ࣝऀෆࡏ • νʔϜͰ։ൃͨ͠ܦݧগͳ͍
࣌ͷঢ়گ • ༗ࣝऀෆࡏ • νʔϜͰ։ൃͨ͠ܦݧগͳ͍ ɹ˞ ։ൃɾӡ༻πʔϧ։ൃνʔϜͩͬͨ ɹ˞ 1ਓͣͭผʑͷπʔϧΛ࡞ͬͯΔײ͡
࣌ͷঢ়گ • ༗ࣝऀෆࡏ • νʔϜͰ։ൃͨ͠ܦݧগͳ͍ ← νʔϜ։ൃͷಌΕ ɹ˞ ։ൃɾӡ༻πʔϧ։ൃνʔϜͩͬͨ ɹ˞
1ਓͣͭผʑͷπʔϧΛ࡞ͬͯΔײ͡
ࢲͷࢥ͍
࣌ͷࢲͷࢥ͍ • ։ൃऀͱͯ͠ • ૣ͘ྑ͍ՌΛग़͢ʹͲ͏͢Εྑ͍ͷ͔ • ྑ͍ίʔυΛॻ͘ʹͲ͏͢Εྑ͍ͷ͔ • ઌഐͱͯ͠ •
҆৺ͯ͠։ൃͯ͠Β͏ʹͲ͏͢Εྑ͍ͷ͔ • ࢲͷѱ͍ίʔυΛѱ͍ͱݴͬͯΒ͏ʹͲ͏͢Ε ྑ͍ͷ͔
ߟ͑ͯΈͨ
͜Ε͕Ͱ͖Εྑ͍ͷͰʁ • ຖேϓνձΛ։͘ • ຖͪΌΜͱλεΫͷཧͱεϓϦϯτͷඪ֬ೝ Λ͢Δ • ࢥͬͨ͜ͱԿͰݴ͍߹͍͍ͨͷͰɺؾܰ͞Λҙ ࣝͯ͠ϓνձͱݺশ •
ޓ͍ʹԕྀͳ͘ίʔυϨϏϡʔΛ͢Δ • ίʔυϨϏϡʔͷϧʔϧʢ৺ߏ͑ʣΛ࡞Δ • ·ͣܗ͔Β
࣮ફ
ίʔυϨϏϡʔͷϧʔϧ • ϨϏϡʔϫʔͷ৺ߏ͑ • ϓϧϦΫ͕ग़͞Εͨ࣍ͷʹϨϏϡʔ͢Δ • ίʔυ্Ͱઌഐޙഐؔͳ͍ • ϨϏϡʔΠͷ৺ߏ͑ •
SlackͰϓϧϦΫग़ͨ͜͠ͱΛඞͣ࿈བྷ͢Δ • ͋͘·Ͱ͓ئ͍͢Δ͜ͱ
ίʔυϨϏϡʔґཔ࣌ͷςϯϓϨʔτ • .github/PULL_REQUEST_TEMPLATE.md Λ༻ҙ • ֓ཁ • ͦͷϓϧϦΫʹΑͬͯԿ͕ୡ͞Ε͔ͨ • ࣮༰ʢνΣοΫϘοΫεʣ
• ࣮ͨ͠༰ͷՕॻ͖ • ݒ೦ • ≒ ݴ͍༁Λؾ࣋ͪΛॻ͘ • ʮ͜͜ԶݏͳΜ…ʯ • ʮ༷͕ܾ·ͬͨΒϦϑΝΫλ͢Δ͔Β…ʯ • Ϛʔδͯ͠Α͠ • ݟ·ͨ͠ΑνΣοΫϘοΫε
ίʔυϨϏϡʔґཔ࣌ͷςϯϓϨʔτͷޮՌ • ϨϏϡʔϫʔࢹ • ݒ೦ʹ͍ͭͯࢦఠ͕Ͱ͖Δ • ʮPMʹ֬ೝऔ͔ͬͨΒ͜ΕͰྑ͍Α or ͯ͠ʯ •
ϨϏϡʔΠࢹ • ґཔલʹݟ͕͠Ͱ͖Δ • ʮ࣮༰ͷՕॻ͖͕ଟ͗͢Δ͔ΒผͷϓϧϦΫ ʹ͚Α͏ʯ
ίʔυϨϏϡʔґཔ࣌ͷϥϕϧ • WIP / PleaseReviewϥϕϧΛ༻ҙ
ίʔυϨϏϡʔґཔ࣌ͷϥϕϧͷޮՌ • ϨϏϡʔΛґཔ͠Α͏ͱࢥ͍ͬͯͨΒɺ ͢ͰʹϨϏϡʔ͕ऴΘ͍ͬͯͨ • ʮPleaseReviewϥϕϧ͕షͬͯ͋ͬͨͷͰɺ ɹϨϏϡʔͯ͠ίϝϯτॻ͍ͯஔ͖·ͨ͠ʯ
औΓΈͷ݁Ռ • 43 / 51 (68%) ͷϓϧϦΫΤετ͕ ࡞͔Β1~3Ҏʹ Merge or
Close ɹ※ Please Review ϥϕϧ͕షΒΕ͔ͯΒͰͳ͍ ɹɹͦͷ߹ɺͬͱ૿͑Δఆ (ूܭͰ͖ͯͳ͍) • ͭ·ΓϓϧϦΫޙͷ ϨϏϡʔ -> ࢦఠՕॴͷमਖ਼ -> ࠶ϨϏϡʔ -> Ϛʔδ ͕ɺ 1~3ޙʹɺ͍͍͍ͩͨྃͯ͠Δ
͏·͘ػೳͯͦ͠͏ʢʁʣ
ࢲͱ22ਓͷ3ਓνʔϜͷ࣌
࣌ͷঢ়گ • ϓϩδΣΫτͷن͕ͪΐͬͱ֦େ • AndroidΞϓϦ • ຊϦϦʔεʹ͚͍ͯࠐΈ • ͋ͱผΞϓϦΛɺ͏̍ͭՃͰʂ •
αʔόʔαΠυͷ࣮ޙճ͠ͷϓϩτλΠϓΛ • αʔόʔαΠυ • ຊϦϦʔεʹ͚͍ͯࠐΈ
࣌ͷঢ়گ • νʔϜߏ • ϓϩδΣΫτϚωʔδϟʔ • αϒϦʔμʔ • ࢲ •
2 (લճͷ৽ଔ) • 2 (New) • ઌഐʢ͝ҙݟ൪ʣ • ผΞϓϦ୲
࣌ͷঢ়گ • Ұॹʹ͖ͬͯͨ৽ଔ͕2ʹʂ • ৽ͨʹ 2ՃΘͬͯ 3ਓମ੍ʹʂ • νʔϜશମͰਓһ͕૿͑ͨʂ •
AndroidΞϓϦ։ൃ͕த࣠ʹ
ࢲͷࢥ͍
࣌ͷࢲͷࢥ͍ • ҎલͷऔΓΈΛܧଓͯ͠ଓ͚͍ͨ
࣌ͷࢲͷࢥ͍ • ҎલͷऔΓΈΛܧଓͯ͠ଓ͚͍ͨ
࣌ͷࢲͷࢥ͍ • ҎલͷऔΓΈΛܧଓͯ͠ଓ͚͍ͨ
࣌ͷࢲͷࢥ͍ • ҎલͷऔΓΈΛܧଓͯ͠ଓ͚͍ͨ
࣌ͷࢲͷࢥ͍ • ҎલͷऔΓΈΛܧଓͯ͠ଓ͚͍ͨ • ͦΕ͚ͩ
Կ͕ى͖͔ͨ
ൃੜͨ͠ 1 • ίϛϡχέʔγϣϯྔͷ૿େ • ̍ਓ૿͑ͨɺ+1 Ͱͳ͘ *2 ͩͬͨ •
ίʔυϨϏϡʔґཔͷ૿Ճ • ࢲʮ͝ΊΜɺϨϏϡʔ໌Ҏ߱ʹͳΓ·͢ʯ͕ଟൃ • ࢲʮ͝ҙݟ൪͕OKͬͯݴͬͨΒOKͰ͢ʯ • ͝ҙݟ൪ʮ༷͕͔Βͳ͍ͷͰࡉ͔͘ݟΕͯͳ͍ ͚Ͳɺίί͕nullͷ࣌ͷৼΔ͍͕͜ΕͰྑ͍ͳΒ OKͰ͢ʯ
ൃੜͨ͠ 2 • 2(NEW) ͱͷจԽతɾٕज़తഎܠͷࠩ • ࢲ͕ͨͪഓ͖ͬͯͨϧʔϧɾٕज़Λઆ໌ͤͣਐΊ͍ͯͨ • ࢲʮ͔Μͳ͍͜ͱ͋ͬͨΒฉ͍ͯʔʯ •
ʮϨϏϡʔԿΛݟΕ…ʯ • -> ίʔυϨϏϡʔͷจԽ͕ͳ͔ͬͨ • ʮGitͷ͍ํͬͯ͜ΕͰྑ͍ͷͰ͠ΐ͏͔…ʯ • -> ͦΕ·ͰSCM͕ෆཁͳ։ൃ͕ओͩͬͨ • ʮࢼ͠ʹ࣮͚ͨͩ͠ͳͷͰ push ͯ͠ͳ͍Ͱ͢ʯ • -> ਖ਼͘͠ಈ͘ͷ͚ͩΛ remote ʹ͋͛ΔจԽͩͬͨ
ͷ૯ׅ • ৽͘͠དྷͨਓΛड͚ೖΕΔମ੍͕શͬͯ͘ͳ͍ • ࣭͞Εͳ͍ͱೝࣝҧ͍ʹؾ͚ͮͳ͍ • ࢲ͕ϘτϧωοΫʹͳ͍ͬͯΔ • ͦΕ·Ͱͱಉ͡։ൃϖʔεΛҡ࣋ͯ͠৽͍͠։ൃʹ टΛಥͬࠐΜͰ͍Δ
• ܻ͋;Εঢ়ଶ… • ͷؙ͛ͱ͍͏࠷ͷߦҝ…
͜ͷ··Ͱμϝͩͱؾ͘
ߟ͑ͯΈͨ
ॳ৺ʹؼΔ
ͬͨ͜ͱ
ͱʹ͔͘͢ • ·ͣޱ಄Ͱɺͱʹ͔͘ձ͢Δ • ʮࢲͷϓϧϦΫͷɺ͜ͷลͲ͏ࢥ͏ʁʯ • ʮͺͬͱݟͨײ͡ɺ݅ذ͕͔ΓͮΒ͍Ͱ͢ʯ • ʮ͓͚ɺϝιουԽ͢ΔΘʯ •
ࣗͷ࡞ۀΛࢭΊͯͰɺձΛ࠷༏ઌʹ • Slack׆༻ • ͱʹ͔͔͚͘͠Δ • ͓ޓ͍ʹ׳ΕΔ
׳ΕͯΒ͏ • ձͷ༰ΛGitHubʹॻ͍ͯΒ͏ • ʮೋख͚ؒͩͲɺ ɹࠓͨ͠༰ΛGitHubʹॻ͍ͯΒ͍͍ͬͯʁ ɹͦͨ͠Β͠·ͨͬͯ͠ίϝϯτฦ͢ΜͰʯ • औֻ͔ͬΓ͕Ͱ͖Εɺ͋ͱεϜʔζʹਐΜͩɻ
ࢲࣗͷλεΫͷཧ • ͷৎʹԊͬͨλεΫྔʹͳΔΑ͏ௐ͢Δ • CIͱ͔σϓϩΠࣗಈԽͱ͔ޙճ͠ʹ ˞ ͦΕͦΕͰͳؾ͢Δ͕… • গͣͭ͠2ʹࢲͷλεΫΛҕৡ͢Δ •
͝ҙݟ൪ͱɺͪΌΜͱωΰΔ • ࢲʮ࣮ػͰͷಈ࡞֬ೝͨ͠ͷͰ ɹɹίʔυϨϏϡʔΛ͓ئ͍͠·͢ʯ
૯ͯ͡ݴ͑Δ͜ͱ • ͢ͷ͕Ұ൪ • ͬͯΈͤɺ͍͖͔ͬͯͤɺͤͯ͞Έͤ • ͳ͋ͳ͋ɺʹ ͳΒͳ͍Α͏ؾΛ͚ͭΔ
Ռ • 2(NEW) ͕த৺ͷ৽ΞϓϦͷPRɺ 49/61(80%) ͕ 1ޙ·ͰʹϚʔδ͞Εͨ • 1݅ɺ Ϛʔδ·Ͱ30͔͔ͬͨϓϧϦΫ͕͋Δ
• Ұ൪ॳΊͷϓϧϦΫ • Gitͷ͍ํɺ։ൃํͷڞ༗͕Ͱ͖͍ͯͳ͔ͬͨͨ Ί • ͜ͷ1݅Ҏ߱ɺૣ͍ϓϧϦΫͷαΠΫϧ͕࣮ݱͰ͖ͨ
Ռ • 2(લճ৽ଔ) ͕த৺ͷΞϓϦͷPRɺ 80/107(74%) ͕ 1ޙ·ͰʹϚʔδ͞Εͨ
Ռ • ৄࡉʹܭଌ͍ͯ͠ͳ͍͕ɺ ϨϏϡʔίϝϯτ͕࣌ؒܦͭʹͭΕͯ૿͍͑ͯͬͨ
ࠓޙͷ՝
ࠓޙͷ՝ • ίʔυϨϏϡʔͷҙࣝߴ·͍ͬͯΔ͕… • Ռͨͯ͠ίʔυྑ͘ͳ͍ͬͯΔͷ͔Ṗ • Կ͔ࢦඪΛઃ͚Δʁ • ͬͱϨϏϡʔͷෛՙΛԼ͛ΒΕΔͷͰ •
ϨϏϡʔ༻ͷνΣοΫγʔτΛ༻ҙ͢Δʁ • ͬͱπʔϧΛ͏ʁ • ॳ৺ Ε͕ͪ
͓͠·͍