Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レビューの仕方
Search
Yosuke Furukawa
PRO
October 25, 2021
Programming
84
61k
レビューの仕方
Open8 勉強会で発表したレビューの仕方と心理的安全性の話しです。
Yosuke Furukawa
PRO
October 25, 2021
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
180
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
4.9k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.5k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
290
Removing Corepack
yosuke_furukawa
PRO
9
1.8k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
3k
Strip Types と Storage
yosuke_furukawa
PRO
4
460
Module Harmony について
yosuke_furukawa
PRO
4
1.8k
LTのやり方
yosuke_furukawa
PRO
16
2.8k
Other Decks in Programming
See All in Programming
ThorVG Viewer In VS Code
nors
0
710
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
340
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
4
3.5k
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
400
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
100
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
180
クラウドに依存しないS3を使った開発術
simesaba80
0
230
Architectural Extensions
denyspoltorak
0
190
Patterns of Patterns
denyspoltorak
0
1k
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
340
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
150
PC-6001でPSG曲を鳴らすまでを全部NetBSD上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
210
Featured
See All Featured
Believing is Seeing
oripsolob
1
33
Exploring anti-patterns in Rails
aemeredith
2
230
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
49k
Side Projects
sachag
455
43k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Code Reviewing Like a Champion
maltzj
527
40k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
99
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
ϨϏϡʔͷํ 2021/10/25 @ Open8 ษڧձ
Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD
ίʔυϨϏϡʔʹ͍ͭͯͷ
ίʔυϨϏϡʔࢀߟจݙɹ https://google.github.io/eng-practices/
ίʔυϨϏϡʔͷલʹ
ίʔυϨϏϡʔͷલʹؾʹͯ͠ ͓͘͜ͱ • ίʔυͷঢ়ଶʹ͓͍ͯʮBestʯଘࡏ͠ͳ͍ • ʮBetterʯ͕͋Δ͚ͩ • ݪཧओٛతͳࢥͰʮBestʯΛ͍ٻΊͯ αʔϏεͱͯ͠ಈ͔ͳ͔ͬͨΒແՁ
ίʔυϨϏϡʔͷલʹؾʹͯ͠ ͓͘͜ͱ • ίʔυͷঢ়ଶʹ͓͍ͯʮBestʯଘࡏ͠ͳ͍ • ʮBetterʯ͕͋Δ͚ͩ • ݪཧओٛతͳࢥͰʮBestʯΛ͍ٻΊͯ αʔϏεͱͯ͠ಈ͔ͳ͔ͬͨΒແՁ ͜͜Λצҧ͍ͪ͠Ό͍͚ͳ͍ɻ
͋Δ͖࢟Λ͍ٻΊͭͭɺՁΛ࢈Έͩ͢ඞཁ͕͋Δɻ
ίʔυϨϏϡʔͷత
ίʔυϨϏϡʔͷత • ͦͷίʔυ͕Ճ͞ΕΔ͜ͱͰɺίʔυશମ ͷ݈શੑ্͕͞Ε͍ͯΔ͜ͱ • ͏গ͠ࡅ͍ͯݴ͏ͱɺࠓΑΓίʔυ͕ Better ͳঢ়ଶʹͳΔ͜ͱ 1VMM3FRVFTU͕࡞ۀରͷίʔυશମͷ݈શੑΛ্͍ͤͯ͞Δ #FUUFSʹͳΔ
ͱ͍͏ج४ΛຬͨͤɺϚʔδ͠ͳ͚Ε͍͚ͳ͍ɻ
ίʔυϨϏϡʔͷత • ίʔυ͕ Best ͳঢ়ଶͰ͋Δඞཁͳ͘ɺ Better ͳঢ়ଶͰ͋Εྑ͍ɻ • Ϛʔδ͢Δલʹ͋ΒΏΔࡉ͔͍෦ͷચ࿅Λ ٻΊΔ͖Ͱͳ͍ɻ
• ϨϏϡΞ͕ٻΊΔͷᘳ͞Ͱͳ͘ɺܧଓ తͳվળͰ͋Δ͖ɻ
ίʔυϨϏϡʔͷత • ᘳͳͷͰͳͯ͘Ϛʔδ͠ͳ͚ΕͳΒ ͳ͍ɻ • ҰํͰɺίʔυͷ݈શੑ͕ଛͳΘΕ͍͍ͯ ͱ͍͏༁Ͱͳ͍ɻ • ݈શੑ͕ࣦΘΕΔίʔυΛϚʔδͯ͠ྑ͍ͷ ʮۓٸࣄଶʯͷͱ͖͚ͩɻ
ݪଇ • ٕज़తͳࣄ࣮σʔλʹΑͬͯͷमਖ਼ݸਓͷΈΑΓ ॏࢹ͢Δ͖ • ελΠϧͷελΠϧΨΠυΛࣄલʹܾΊ͓͖ͯ͘ • ෳͷબ͕͋Γ͑ͯɺͲͪΒಉ༷ʹ݈શੑ͕୲อ͞ ΕΔͷͰ͋Εɺίʔυ࡞ऀͷҙݟ͕ଚॏ͞ΕΔ͖ •
্هͷͲͷϧʔϧͯ·Βͳ͍߹ϨϏϡϫʔʹΑ ΔҰ؏ੑ͕ࢦఠ͞ΕΔ͖
࣮ྫ1: ςετίʔυͳ͠ίϛο τ • ίʔυͷػೳతͳՃ͞Ε͍ͯΔ͕ɺςετίʔ υ͕શ͘ଘࡏ͠ͳ͍ • ίʔυͷ݈શੑͱ͍͏ҙຯͰςετίʔυ͕ଘ ࡏ͠ͳ͍ίʔυϚʔδ͞ΕΔ͖Ͱͳ͍ •
ͨͩ͠ɺςετίʔυ͕ͦͦଘࡏ͠ͳ͍ͱ͜ Ζʹରͯ͠ػೳͷՃΛ͍ͯ͠ΔͷͰ͋ΕɺࠓΑ Γ͔ྑ͘ͳ͍ͬͯΔͨΊɺϚʔδ͞ΕΔ͖ɻ
࣮ྫ2: ΞϧΰϦζϜ͕͍ • ػೳՃ͞Ε͍ͯΔ͕ɺΞϧΰϦζϜ͕͘ɺͬ ͱ៉ྷʹߴͳͷ͕ॻ͚Δ࣌ • ͦΕ͕݈શ͔Ͳ͏͔ͰܾΊΔɻଞͷؔશͯߴԽ ϦʔμϏϦςΟʹྀ͞Ε͍ͯΔͷͰ͋Εɺ݈શ ͡Όͳ͘ͳΔ͔ΒɺΞϧΰϦζϜΛ͖͢ •
ҰํͰผʹଞͦΜͳʹ៉ྷ͡Όͳ͍ͳΒɺҰ୴ίϝ ϯτʹ TODO Λॻ͍͓͍ͯͯϚʔδ͢Δͷ͋Γɻ
ϨϏϡʔͰݟΔ͖ॴ
ϨϏϡʔͰݟΔ͖ॴ • ίʔυ͕ͪΌΜͱઃܭ͞Ε͍ͯΔ͔Ͳ͏͔ • ػೳ͕ͪΌΜͱՃ͞Ε͍ͯΔ͔Ͳ͏͔ • ಈ࡞֬ೝͯ͠νΣοΫ͍͍ͯ͠ʢUIͷ࣌ඞ ਢʣ • ฒྻॲཧͱ͔ਖ਼نදݱͱ͔҆શੑʹؔΘΔॴ
దͳϨϏϡϫʔ͕ͪΌΜͱݟΔ
ϨϏϡʔͰݟΔ͖ॴ • ίʔυ͕ඞཁҎ্ʹෳࡶ͡Όͳ͍ • কདྷඞཁʹͳΔ͔ɾɾɾΈ͍ͨͳͷ࣮ ͠ͳ͍΄͏͕͍͍ • ςετ͕ଘࡏ͢Δ͔ • ςετ͕దʹઃܭ͞Ε͍ͯΔ͔
ϨϏϡʔͰݟΔ͖ॴ • มɾؔɾΫϥε໊ͳͲ͕ͪΌΜͱ໋໊͞ Ε͍ͯΔ͔ • ίϝϯτʹ Why ͕ॻ͔Ε͍ͯΔ͔ • What
Λॻ͍͍͚ͯͳ͍
ϨϏϡʔͰݟΔ͖ॴ • υΩϡϝϯτ͕ॻ͔Ε͍ͯΔ͔ • ελΠϧελΠϧΨΠυʹै͍ͬͯΔ͔ • ελΠϧΨΠυ͕ͳ͍ͳΒ͔ͦ͜ΒΔ ͖
ϨϏϡʔͰݟΔ͖ॴ • ͯ͢ͷߦΛͪΌΜͱݟ͍ͯΔ͜ͱ • ίϯςΩετΛଊ͍͑ͯΔ͔Ͳ͏͔ • ྑ͍ॴ͕͋ͬͨΒͪΌΜͱ๙ΊΔ
ίʔυϨϏϡʔͷεϐʔυ
ίʔυϨϏϡʔͷεϐʔυ • ίʔυϨϏϡʔͷεϐʔυ͕νʔϜͷεϐʔυͱ ੜ࢈ੑʹ݁͢Δ • ͕͔͔࣌ؒΕ͔͔Δ΄ͲίʔυϨϏϡʔͷϓϩ ηε͕໘ʹײ͡ΒΕΔ • ϨϏϡʔ͕͍ͱίʔυΛϦϑΝΫλϦϯάͨ͠ Γςετॻ͍ͨΓͱݴͬͨॲཧΛΓͨ͘ͳ͘ͳ
Δ
ίʔυϨϏϡʔ͍ͭΔ͔ʁ
དྷͨΒ͙͢Δɻ ͯ͘ཌ·ͰʹΔɻ
ͱΓ͋͑ͣ࠷ॳͷฦࣄΛฦͦ͏ • Ϛʔδ͞ΕΔ·Ͱ͕͘ͳ͖Ό͍͚ͳ͍Θ͚ ͡Όͳ͍ɻ • શ෦ݟΔͷΛҰͰΒͳ͖Ό͍͚ͳ͍Θ͚ ͡Όͳ͍ɻ • ͱΓ͋͑ͣ࠷ॳͷฦࣄΛฦ͢·Ͱ͕ҰҎ ͱ͍͏ɻ
ଚܟͱײँ • ͕࣌ؒऔΕͳ͍ͳΒऔΕͳ͍ͳΓʹฦ͠ํ͕ ͋Δ • PR ͷઆ໌ΛಡΉ͚ͩͰ͋ΔఔฦͤΔ͕࣌͋ Δ • ଚܟͱײँͷҙΛ͑Δ͚ͩͰྑ͔ͬͨΓ
͢Δ
͍PRͩͳʔͱࢥͬͨΒׂ͠ ͯΒ͏ • PR͕ͯ͘ɺಡΈΔ·Ͱʹ͕͔͔࣌ؒΔͳΒ ׂͯ͠Β͏ख͋Δ • ϝΠϯ෦͚ͩՃͯ͠ΒͬͯɺΓͷPR ผύʔτʹ͚ΔͳͲ • খ͞ͳPRΛ࡞Δ͜ͱϨϏϡϫʔΛॿ͚Δࣄ͕
ଟ͍
ྫ֎
ۓٸࣄଶ
ۓٸࣄଶ • ϢʔβʔʹӨڹͷ͋Δόά͕ग़ͯΔ • ηΩϡϦςΟϗʔϧ͕͋ͬͯσʔλྲྀग़͕ى ͖ͦ͏ • ͳͲͳͲ • ͜͏͍͏࣌ίʔυͷ݈શੑΛΕ͍͍ͯɻ
ίʔυϨϏϡʔͷ͏Ұͭͷ త
ίʔυϨϏϡʔʹϝϯλϦϯ άͷଆ໘͕͋Δ • ίʔυϨϏϡʔڭҭͷͰ͋Δ • ͦ͏͍͏࣌ʹ͑ͯݫ͘͠ڭ͑Δͷྑ͍ • ͕ࣗࠓ݈શੑ୲อͷࢠΛ͔Ϳ͍ͬͯͯ͠Δͷ ͔ɺϝϯλʔͱͯ͠ͷҭͷࢠΛ͔Ϳ͍ͬͯͯ͠Δ ͷ͔Λೝࣝ͢Δ
• ͦͷ্ͰͷίϝϯτͰ͋ΕBestΛٻΊΔ͜ͱ͋Γɻ
ίʔυϨϏϡʔͰҙݟ͕ରཱ ͨ͠ͱ͖
ҙݟ͕ରཱͨ͠ͱ͖ • จ໘͚ͩͰΓऔΓ͠ͳ͍ɻ • ର໘/ΦϯϥΠϯͰϛʔςΟϯά͢Δɻ • ϛʔςΟϯάͷࡍʹPRͷίϝϯτཝʹٞࣄΛ͢ • ͦΕͰมΘΒͳ͍࣌ר͖ࠐΉਓΛ૿͢ •
νʔϜϦʔμʔʹೖͬͯΒ͏ • ٕज़ސʹॿྗΛٻΊΔ˒˒˒ • ॏཁͳ͜ͱ: ҙݟ͕ରཱͯ͠Δ͔ΒͱݴͬͯPRΛ์ஔ͍͚ͯ͠ͳ͍
͜͜·Ͱݟ͔ͯΔ௨Γ
ίʔυϨϏϡʔͱ୯ͳΔ։ ൃ࡞ۀͰͳ͘ɺνʔϜϏϧ υͰ͋Δ
ͪΐͬͱໟ৭ͷҧ͏ • THE CULTURE CODE ࠷ڧνʔϜΛ࡞Δํ๏ https://www.amazon.co.jp/dp/4761273828/
࠷ڧͷνʔϜΛ࡞Δʹ • ҆શͳڥΛ࡞Δ͜ͱ͕Ұ൪ • ͍ΘΏΔʮ৺ཧత҆શੑʯͱݺΕΔͷ • ҆શͳڥ͕ͳ͍߹ɺͲΜͳʹྑ͍ϨϏϡʔ Λ͍ͯ͠Δͱͯ͠νʔϜͷੜ࢈ੑམͪΔ • ࠷ऴతʹίʔυͷ݈શੑʹͭͳ͕Βͳ͍ɺ
Ώͬ͘ΓͱഇΕ͍ͯ͘
ͱ͋Δ࣮ݧ • ৽͍͠ϚʔέςΟϯάઓུΛߟ͑ΔձٞΛ3ͭ࡞ͬͨ • χοΫͱ͍͏ֻ͚ਓΛૹΓࠐΉ • χοΫʮ߈ܸతͳଶΛऔΔʯʮଵଦͳʯ ʮԿ͔ͱ۪ஒΛݴ͏ʯͷ̏ͭΛͦͷͦΕͧΕͷ ձٞͰߦͬͨɻ •
Ͳ͏ͳ͔ͬͨɾɾɾʁ
શͯͷձٞͰ30-40%ੜ࢈ੑ ͕Լͨ͠
͜͏͍͏ਓ͕͍Δ߹ • ͔ʹͦͷਓΛഉআ͠ͳ͍ͱ͍͚ͳ͍ • ͨͩ͠ɺඞͣͦ͠ͷਓΛഉআͰ͖ͳ͍͕࣌ ͋Δ • ͦ͏͍͏ͱ͖ʹத׆ಈΛऔΔ͕Ͱ͖Δͱ ྑ͍ɻ
த׆ಈ • ʮͦͷΞΠσΞ͍͍ͱࢥ͏ʯͳͲͷͪΐͬͱͨ͠ঝ ೝ • ʮ͜ΕΓ͖ͬͨΒձࣾͷʹܨ͕Γ·͢ͶʯͳͲ ͷΔؾΛग़͢ൃݴ • ʮ૬खͷҙݟΛ૬ṀΛଧͪͳ͕Β৺ʹฉ͘ʯͱ͍ͬ ͨฉ͖ग़࢟͢
• ͳͲͳͲ
த׆ಈ • ʮͦͷΞΠσΞ͍͍ͱࢥ͏ʯͳͲͷͪΐͬͱͨ͠ঝ ೝ • ʮ͜ΕΓ͖ͬͨΒձࣾͷʹܨ͕Γ·͢ͶʯͳͲ ͷΔؾΛग़͢ൃݴ • ʮ૬खͷҙݟΛ૬ṀΛଧͪͳ͕Β৺ʹฉ͘ʯͱ͍ͬ ͨฉ͖ग़࢟͢
• ͳͲͳͲ ͜ΕΒͷத׆ಈʹΑͬͯपΓͷϝϯόʔͷ৺ཧత҆શੑͷؾ͕Δ
࠷ڧͷνʔϜʹ৺ཧత҆શ ੑ͕ඞཁͳ͜ͱΘ͔ͬͨɻ Ͱ৺ཧత҆શੑͱͳʹ ͔ʁ
৺ཧత҆શੑͱ • ͜ͷάϧʔϓʹؼଐͯ҆͠શͩͱ͍͏ҙࣝͷ͜ͱ • ͦͷҙࣝҎԼͷ͕୲อ͞Ε͍ͯΔͱಘΒΕΔ • ϝϯόʔಉ࢜ͷަྲྀΛେʹ͍ͯ͠Δʢίϛϡχέʔγϣϯʣ • ϝϯόʔΛݸͱͯ͠ೝΊɺଚܟ͍ͯ͠ΔʢϦεϖΫτʣ •
͜ͷ͕ؔ͜Ε͔Βଓ͘ͱ͍͏ະདྷࢦʢϑϡʔνϟʔʣ • ৺ཧత҆શੑަྲྀͱଚܟͱະདྷࢦʹΑͬͯಘΒΕΔ
νʔϜͷύϑΥʔϚϯε5ͭ ͷܭଌՄೳͳཁૉΛ࣋ͭ • νʔϜશһ͕͠ɺ͢ྔಉ͡ɺͦΕͰ͍ͯɺҰճͷൃݴ͍ • ϝϯόʔؒͷΞΠίϯλΫτ͕Μɺձ͑ํʹϦεϖΫτ͕ ײ͡ΒΕΔ • Ϧʔμʔ͚ͩʹ͢ͷͰͳ͘ɺϝϯόʔಉ࢜Ͱίϛϡχέʔγϣ ϯ͕Μ
• ϝϯόʔؒͷݸਓతͳࡶஊ͕͋Δ • ϝϯόʔ͕ఆظతʹνʔϜΛΕͯɺ֎ͷڥʹ৮Εͯͬͯ͘ Δɻͦͷ࣌ʹ৽͍͠ใΛϝϯόʔͱڞ༗͍ͯ͠Δɻ
Ұݟ͢Δͱʮ͑ͬͦΕ͕େࣄ ͳͷʁʯ͍ͬͯ͏ॴ͔Γ
զʑͷνʔϜͷύϑΥʔϚϯ εΛܾΊΔͷʮ҆͜͜શ ͳॴͩɺࢲୡͭͳ͕ͬͯ ͍Δʯͱ͍͏ϝοηʔδΛ ͑Δଶ
·ͱΊ
ίʔυϨϏϡʔͷํͱνʔϜ Ϗϧυ • ίʔυϨϏϡʔࠓΑΓྑ͘ͳΔ͜ͱΛड͚ೖΕΔͨΊʹ࣮ࢪ͢Δߦҝɺϕετ͕͋ΔΘ͚ ͡Όͳ͍͜ͱΛཧղ͢Δ • ίʔυϨϏϡʔʹઃܭɺػೳʹՃ͑ͯςετυΩϡϝϯτɺͯ͢ͷߦΛݟΔඞཁ͕͋Δ • ͳΔ͘ૉૣ͘ϨεϙϯεΛฦ͢ •
ᎍΊΔ͜ͱ͕͋Δͱࢥ͏͕ɺᎍΊͯݐઃతʹͳΔΑ͏ʹΊΔ • ͜ΕνʔϜϏϧυͱҰॹɺͳΔ͘ੜ࢈ੑΛԼ͛Δ͔Βԕ͚͟Δඞཁ͕͋Δ • த׆ಈΛ͢Δ͜ͱͰੜ࢈ੑͷݮୀΛதͰ͖Δ • ৺ཧత҆શੑͱʮ͜͜ʹ͍ͯ҆৺ͩʯͱ͍͏ؼଐҙࣝ • νʔϜશମͰʮ҆͜͜શͳॴͩɺࢲୡͭͳ͕͍ͬͯΔʯͱ͍͏ϝοηʔδΛ͑Δඞཁ͕ ͋Δ