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
81
48k
レビューの仕方
Open8 勉強会で発表したレビューの仕方と心理的安全性の話しです。
Yosuke Furukawa
PRO
October 25, 2021
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
14
2.2k
Strip Types と Storage
yosuke_furukawa
PRO
4
300
Module Harmony について
yosuke_furukawa
PRO
3
1.4k
LTのやり方
yosuke_furukawa
PRO
16
2k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
660
Node.js v22 で変わること
yosuke_furukawa
PRO
13
4.9k
リアーキテクトと開発生産性について
yosuke_furukawa
PRO
25
9.3k
JavaScript Server Runtime History
yosuke_furukawa
PRO
9
3.6k
tc39 x jsconf.jp Panel Discussion
yosuke_furukawa
PRO
0
1.7k
Other Decks in Programming
See All in Programming
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.3k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
メモリ最適化を究める!iOSアプリ開発における5つの重要なポイント
yhirakawa333
0
410
Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
250
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
120
null or undefined
susisu
22
6.2k
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
240
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
160
unique パッケージから学ぶ interning と weak reference @ Asakusa.go#3
karamaru
2
740
How to Break into Reading Open Source
kaspth
1
190
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
170
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
508
110k
GitHub's CSS Performance
jonrohan
1029
450k
Building Adaptive Systems
keathley
36
2.1k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
How to train your dragon (web standard)
notwaldorf
85
5.6k
Building Flexible Design Systems
yeseniaperezcruz
325
37k
In The Pink: A Labor of Love
frogandcode
139
22k
Designing with Data
zakiwarfel
98
5k
Automating Front-end Workflow
addyosmani
1365
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
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ͭ ͷܭଌՄೳͳཁૉΛ࣋ͭ • νʔϜશһ͕͠ɺ͢ྔಉ͡ɺͦΕͰ͍ͯɺҰճͷൃݴ͍ • ϝϯόʔؒͷΞΠίϯλΫτ͕Μɺձ͑ํʹϦεϖΫτ͕ ײ͡ΒΕΔ • Ϧʔμʔ͚ͩʹ͢ͷͰͳ͘ɺϝϯόʔಉ࢜Ͱίϛϡχέʔγϣ ϯ͕Μ
• ϝϯόʔؒͷݸਓతͳࡶஊ͕͋Δ • ϝϯόʔ͕ఆظతʹνʔϜΛΕͯɺ֎ͷڥʹ৮Εͯͬͯ͘ Δɻͦͷ࣌ʹ৽͍͠ใΛϝϯόʔͱڞ༗͍ͯ͠Δɻ
Ұݟ͢Δͱʮ͑ͬͦΕ͕େࣄ ͳͷʁʯ͍ͬͯ͏ॴ͔Γ
զʑͷνʔϜͷύϑΥʔϚϯ εΛܾΊΔͷʮ҆͜͜શ ͳॴͩɺࢲୡͭͳ͕ͬͯ ͍Δʯͱ͍͏ϝοηʔδΛ ͑Δଶ
·ͱΊ
ίʔυϨϏϡʔͷํͱνʔϜ Ϗϧυ • ίʔυϨϏϡʔࠓΑΓྑ͘ͳΔ͜ͱΛड͚ೖΕΔͨΊʹ࣮ࢪ͢Δߦҝɺϕετ͕͋ΔΘ͚ ͡Όͳ͍͜ͱΛཧղ͢Δ • ίʔυϨϏϡʔʹઃܭɺػೳʹՃ͑ͯςετυΩϡϝϯτɺͯ͢ͷߦΛݟΔඞཁ͕͋Δ • ͳΔ͘ૉૣ͘ϨεϙϯεΛฦ͢ •
ᎍΊΔ͜ͱ͕͋Δͱࢥ͏͕ɺᎍΊͯݐઃతʹͳΔΑ͏ʹΊΔ • ͜ΕνʔϜϏϧυͱҰॹɺͳΔ͘ੜ࢈ੑΛԼ͛Δ͔Βԕ͚͟Δඞཁ͕͋Δ • த׆ಈΛ͢Δ͜ͱͰੜ࢈ੑͷݮୀΛதͰ͖Δ • ৺ཧత҆શੑͱʮ͜͜ʹ͍ͯ҆৺ͩʯͱ͍͏ؼଐҙࣝ • νʔϜશମͰʮ҆͜͜શͳॴͩɺࢲୡͭͳ͕͍ͬͯΔʯͱ͍͏ϝοηʔδΛ͑Δඞཁ͕ ͋Δ