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
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
WENDY [Excerpt]
tessaabrams
14
39k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
KATA
mclloyd
PRO
35
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Abbi's Birthday
coloredviolet
4
10k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
The Limits of Empathy - UXLibs8
cassininazir
1
680
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
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ޙ·ͰʹϚʔδ͞Εͨ
Ռ • ৄࡉʹܭଌ͍ͯ͠ͳ͍͕ɺ ϨϏϡʔίϝϯτ͕࣌ؒܦͭʹͭΕͯ૿͍͑ͯͬͨ
ࠓޙͷ՝
ࠓޙͷ՝ • ίʔυϨϏϡʔͷҙࣝߴ·͍ͬͯΔ͕… • Ռͨͯ͠ίʔυྑ͘ͳ͍ͬͯΔͷ͔Ṗ • Կ͔ࢦඪΛઃ͚Δʁ • ͬͱϨϏϡʔͷෛՙΛԼ͛ΒΕΔͷͰ •
ϨϏϡʔ༻ͷνΣοΫγʔτΛ༻ҙ͢Δʁ • ͬͱπʔϧΛ͏ʁ • ॳ৺ Ε͕ͪ
͓͠·͍