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
hisaichi5518
October 29, 2014
Technology
116
180k
コードレビューの話
新卒エンジニア向けにコードレビューを「する」話をしました。
http://hisaichi5518.hatenablog.jp/entry/2014/10/29/165721
hisaichi5518
October 29, 2014
Tweet
Share
More Decks by hisaichi5518
See All by hisaichi5518
技術力あげたい
hisaichi5518
3
4k
Dartにおける静的解析 / FlutterKaigi 2022
hisaichi5518
0
2.1k
ソフトウェアエンジニアが品質保証を学んでわかったこと / What software engineers have learned about quality assurance
hisaichi5518
6
9.7k
10X と Flutter / 10X with Flutter
hisaichi5518
0
2.1k
ひさいちとの1on1
hisaichi5518
0
2.5k
しあわせ推進委員会 / Shiawase Promotion Committee
hisaichi5518
0
1.2k
2017-03-23
hisaichi5518
0
3.7k
Pepabo Tech Conference 7
hisaichi5518
1
1.1k
かんばんやりたい
hisaichi5518
0
1k
Other Decks in Technology
See All in Technology
偏光画像処理ライブラリを作った話
elerac
1
160
「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly
i35_267
2
710
OPENLOGI Company Profile
hr01
0
60k
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
140
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
130
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
460
短縮URLをお手軽に導入しよう
nakasho
0
140
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
690
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
160
Amazon Aurora のバージョンアップ手法について
smt7174
1
120
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
200
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1.2k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Side Projects
sachag
452
42k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Statistics for Hackers
jakevdp
797
220k
How GitHub (no longer) Works
holman
314
140k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A Philosophy of Restraint
colly
203
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
KATA
mclloyd
29
14k
Transcript
(.01FQBCP *OD IJTBJDIJ ৽ଔݚम ίʔυϨϏϡʔͷ
ࣗݾհ ͻ͍ͪ͞
લ৬Ͱͬͯͨࣄ ιʔγϟϧήʔϜͷ"1*࡞ͬͯͨ ϦʔυΤϯδχΞ ϓϩδΣΫτͷϓϧϦΫɺશ෦ίʔυϨϏϡʔͯ͠ ͨ ଞͷਓ
ͻ͍͕ͪ͞0,͢ΕϚʔδΈ͍ͨͳɻ େมͩͬͨʜʜʜʜʜ ίʔυϨϏϡʔʹ͍ͭͯߟ͑Δ͜ͱ͕ଟ͔ͬͨɻ
ࠓ͞ͳ͍ࣄ ϨϏϡʔͯ͠Β͏ͱ͖ͷ ίʔυϨϏϡʔཷ·Δͱ͔ӡ༻ ͯ͠Δͱग़ͯ͘Δ ίʔυϨϏϡʔಋೖ ίʔυϨϏϡʔΛʮ͢ΔʯΛ͠·͢ɻ
ίʔυϨϏϡʔͱ ίʔυϨϏϡʔʢӳ$PEFSFWJFXʣ ɺιϑτΣΞ։ൃఔͰݟա͝ ͞ΕͨޡΓΛݕग़ɾमਖ਼͢ΔͨΊʹ ιʔείʔυͷମܥతͳݕࠪʢࠪಡʣ Λߦ͏͜ͱɻ
ίʔυϨϏϡʔͱ ίʔυϨϏϡʔʢӳ$PEFSFWJFXʣ ɺιϑτΣΞ։ൃఔͰݟա͝ ͞ΕͨޡΓΛݕग़ɾमਖ਼͢ΔͨΊʹ ιʔείʔυͷମܥతͳݕࠪʢࠪಡʣ Λߦ͏͜ͱɻ
ຊʹ ͦΕ͚ͩʁ
ίʔυϨϏϡʔͷత ػցతʹൃݟग़དྷͳ͍ޡΓͷൃݟ ٕज़ྗ্ ଐਓੑഉআ
͜ͷͭͷதͰ ৽ଔࢯ͕ʮࠓʯٻΊΒΕΔࣄ
ʮࠓʯɺ৽ଔࢯͨͪʹظ͞ΕΔͰ͋Ζ͏͜ͱ ٕज़ྗ্ ଐਓੑͷഉআ
ίʔυϨϏϡʔͷత ػցతʹൃݟग़དྷͳ͍ޡΓͷൃݟ ٕज़ྗ্ ଐਓੑഉআ ͍ͭ͜ʁʁʁ
ϨϕϧͱϨϕϧ Կࣄʹஈ֊͕͋Δ Ϩϕϧͱʹ͚ͯɺ·ͣϨϕϧ Λग़དྷΔΑ͏ʹ͢Δɻ
֤తͷΰʔϧ ٕज़ྗ্ ίʔυ͕ͳͥͦ͏ͳ͍ͬͯΔͷ͔ཧղग़ དྷΔ ଐਓੑͷഉআ ίʔυ͕ͳͥͦ͏ͳ͍ͬͯΔͷ͔ཧղग़
དྷΔ
·Δͬͱ·ͱΊͯ ίʔυΛཧղ͢Δ
Ϩϕϧ ίʔυΛཧղ͢Δ
ίʔυΛཧղ͢Δͬͯ Ͳ͏͢Ε͑͑Μʜ ͍͠Θʜʜʜ
ϨϕϧΛୡ͢ΔͨΊͷ ίʔυϨϏϡʔʹ͓͍ͯ Δ͜ͱ͚ͭͩ
Θ͔Βͳ͍ࣄΛฉ͘
ίʔυ͕ཧղͰ͖ΔΑ͏ʹͳΔʹ ͳΜͰ͜͏ͳ͍ͬͯΔͷ͔ʁΛߟ ͑ͳ͕ΒίʔυΛಡΉ Θ͔Βͳ͍ͱ͜Ζ͕͋ΔͱΉ ΜͩΒࣗͰΘ͔Βͳ ͍ͱஅͯ͠ฉ͘ɻ
ίʔυ͕ཧղͰ͖ΔΑ͏ʹͳΔʹ ʮͳΜͰ͜͜ʹϝιουॻ͍ͯΔΜͩΖʯ ʮͳΜͰ"͡Όͳͯ͘#ͬͯॻ͖ํͳΜͩΖʁʯ ʮͳΜͰ͜͜Ͱ"ͯ͠ΔΜͩΖʁʯ ʮͳΜͰʜʜʜʜʜʯ
ʮͳΜͰͳΜʜʜʜʜʯ ʮͳΜͰʙʙʙʙʙʙʯ
ͳΜͰɾΉɾฉ͘ Λ܁Γฦ͍ͯ͠Δͱ Ϩϕϧ͕ग़དྷΔΑ͏ʹͳΔ
ͳΜͰɾΉɾฉ͘ Λ܁Γฦ͍ͯ͠Δͱ ίʔυ͕ཧղग़དྷΔΑ͏ʹͳΔ
Ϩϕϧୡ
ίʔυϨϏϡʔͷత ػցతʹൃݟग़དྷͳ͍ޡΓͷൃݟ ٕज़ྗ্ ଐਓੑഉআ ࣍ɺ͍ۙকདྷٻΊΒΕΔɺίΠπʂʂʂ̍̍
Ϩϕϧ ػցతʹൃݟग़དྷͳ͍ޡΓͷ ൃݟ
ػցతʹൃݟग़དྷΔͷ 42-ͷ/ ίʔυͷϑΥʔϚοτ
42-/ ϧʔϓͷதͰ42-ൃߦ͠·͘Γ ճϧʔϓͨ͠Β42-͕ ճୟ͔ΕΔʢ˔ʆЏ˔ʣ 3BJMTʹɺCVMMFUͱ͍͏ͷ͕͋Δ
CVMMFUɺ/ Λൃݟग़དྷΔ
ίʔυϑΥʔϚοτ SVCPDPQͱ͔ΛͬͯɺελΠϧʹ ҧͨ͠ΒKFOLJOT͕͚͜Δͱ͔͢ Δɻ
None
ػցతʹΘ͔Δͷ ػցʹָͤͯΛ͢Δ
ػցతʹൃݟग़དྷͳ͍PSग़དྷΔ͕খ͍͠ ηΩϡϦςΟ 42- ϨʔείϯσΟγϣϯ ༷ͱίʔυͷໃ६
࣮ߦ ઃܭ Θ͔Γ͢͞ "ͱ#ɺͲͪΒ͕φ͍ʁ
ηΩϡϦςΟ 944 $43' 42-ΠϯδΣΫγϣϯ ৄ͘͠
42- ΠϯσοΫεΘΕͯͳ͍ ΠϯσοΫεແବʹషͬͯΔ
ϨʔείϯσΟγϣϯ ಉ࣌ʹ࣮ߦ͞ΕͨΒ͏ΜͨΒ͔Μͨ Βʂʂʂʂʂʂʂʂʂʂʂʂʂ
༷ͱίʔυͷໃ६ ͦͦ͜ͷίʔυɺ༷ʹ߹ͬͯ ͳ͍݅ ςετҙຯͳ͍݅
࣮ߦ ͬͪ͜ͷํ͕ૣ͘Ͷʁʁʁʁ ඞͣϕϯνϚʔΫऔΔ Ωϟογϡͨ͠ํ͕͍͍͔ɺΈͨ ͍ͳͱ͔͢Δ
ઃܭ ίϯτϩʔϥʔʹϩδοΫΛॻ͘ ͖Ͱͳ͍͏ΜͨΒ͔ΜͨΒ ίʔυϨϏϡʔͷ࣌Ͱ͜ͷ͕ग़ ΔΑ͏Ͱ͋ΕɺίʔυΛॻ͘લʹ ૬ஊ͢ΔΑ͏ʹ͢Δɻ
Θ͔Γ͢͞ "ͱ#ɺൺΔͱ"ͷํ͕Θ͔Γ͍͢ʂʂ̍ WJNWT&NBDTͷΑ͏ͳͨͩͷԥΓ߹͍ʹͳ ΔՄೳੑ͕͋Δ ͕͑ͳ͍ͷʹؔͯ͠ɺର໘Ͱ͢ ʙͯ͠ෆໟͱࢥͬͨΒෆໟͰ͢Ͷͬ
ͯݴͬͯऴΘΒͤΔɻ
"ͱ#ɺͲ͕ͬͪφ͍ʁ ࠓɺͬͪ͜ͷ΄͏͕φ͍ͥʂΈ ͍ͨͳͷ݁ߏ͋Δ άάͬͯݟ͚ͭͨͷ͕Φϫίϯʹͳͬ ͯΔՄೳੑʂʂʂʂʂ
ʢ˔ʆЏʅ˔ʣ
Ϩϕϧ ϝονϟϜζΠ
͜ΕΒ͕ग़དྷΔΑ͏ʹͳΔʹ ɺ༷ʑͳࣝɾܦݧ͕ඞཁ
ͦͯ͠ɺେલఏͱͯ͠ ଞͷਓͷίʔυΛݟͯ ཧղग़དྷΔඞཁ͋Δɻ
ͦΜͳ͜ΜͳͰ
ίʔυϨϏϡʔͷతΛཧղͯ͠ ࠓɺΔ͖͜ͱཧղग़དྷɺ ͦͷΓํཧղग़དྷͨɻ ͦͷ࣍ʹΔ͜ͱΘ͔ͬͨʂʂ ͏ίʔυϨϏϡʔᘳʂʂ
Ͱͳ͍ͷͰ͢ʜ
ୈೋ෦ ίʔυϦʔσΟϯάฤ
ίʔυΛಡΉɻ τςϞɺϜζΧγΠ
࠷ߴͷಡΈํΛ ڭ͑ͯ΄͍͠ʂ
Զ͕Γ͍ͨ Θʂʂʂʂʂ ʂʂʂʂʂʂ ʂʂʂʂʂʂ
ίʔυϨϏϡʔ࣌ͷಡΈํ ʙͻ͍ͪ͞ฤʙ
ݸͷεςοϓ
ղܾ͍ͨ͠Λཧղ͢Δ ϓϧϦΫͷαϚϦʔΛಡΉ Կ͕͍͔ͨ͠ ԿͷͨΊʹ͢Δͷ͔
ςετ͕௨ͬͯΔ͔֬ೝ ςετ௨ͬͯͳ͍ͱجຊతʹݟͳ ͍
ίϛοτϩάͱมߋ͞ΕͨίʔυΛશ෦ݟΔ ҰͭҰͭݟΔ ίϛοτϩάʹͳΜͰͦ͏͔ͨ͠ॻ͔ΕͯΔࣄ ͕͋ΔͷͰίϛοτϩάΛݟΔɻ ؾʹͳΔͱ͜Ζɾ͕ٙ͋ͬͨΒϝϞ͓ͯ͘͠ ݟͨॠؒʹίϝϯτͨ͘͠ͳΔͷͰɺखݩͰUJH
ΛͬͯݟΔɻ
ಈ͔ͯ͠ΈΔ ίϛοτϩάΛશ෦ோΊऴΘͬͨΒɺ ؾʹͳͬͨͱ͜Ζͱ͔खݩͰಈ͔͠ ͯΈΔ
'JMFT$IBOHFEΛோΊΔ શମͷ%J⒎ΛݟΔɻ εςοϓͰϝϞͨ͠ͱ͜Ζͷཧ
'JMFT$IBOHFEͷͱ͜ΖʹίϝϯτΛॻ͘ ϝϞͨ͠ͱ͜ΖΛ(JUIVCʹίϝϯτ ͍ͯ͘͠
͜ͷݸͷεςοϓ ຖճΔඞཁ͋Δʁ
ͳ͍Ͱ͢
͜ͷΓํϕετͰͳ͍͠ɺ ϕετଘࡏ͠ͳ͍ɻ ࣗͳΓͷΓํΛ୳͠ଓ͚Δ͔͠ͳ͍ɻ
ͦΜͳ͜ΜͳͰ
ུ ͏ίʔυϨϏϡʔ ᘳʂʂ
Ͱͳ͍ͷͰ͢ʜ
ୈࡾ෦ ͑ํׂ͕ฤ
͜ͷεϥΠυΛ࡞Δʹͨͬͯɺ લ৬ޙഐ !.BDP@5BTV ʹ νʔϜʹδϣΠϯͨ࣌͠ͷ ίʔυϨϏϡʔʹ͍ͭͯฉ͍ͯΈͨɻ
ҙ͍ࣝͯͨ͜͠ͱʁ ʮͳΜͰ͜͏ͯ͠ΔΜͩʁʯ͓ͬͯ ͬͨΒ·ͣฉ͘ ϨϏϡʔͷॻ͖ํ
ҙ͍ࣝͯͨ͜͠ͱʁ ʮͳΜͰ͜͏ͯ͠ΔΜͩʁʯ͓ͬͯ ͬͨΒ·ͣฉ͘ ϨϏϡʔͷॻ͖ํ
ԿނɺϨϏϡʔͷॻ͖ํΛ ҙࣝ͢Δඞཁ͕͋Δͷ͔ʁ
ࠔͬͨ͜ͱʁ ઌഐ͕ාͯ͘ࢥͬͨ͜ͱ͕ॻ͚ͳ͍ ࣗྗྔແ͍ͷʹͦΜͳϨϏϡʔ ͰҒͦ͏ͳ͜ͱݴ͍͍ͬͯͷ͔
ਓ͕͍ؒΔͱ΄΅࣮֬ʹਓؒؔͷ ग़ͯ͘Δɻ ਓؒؔͷɺޡղ͔Β࢝·Δ͜ ͱ͕ଟ͍ͱࢥ͍ͬͯΔɻ إΛ߹ΘͤͣʹߦΘΕΔίʔυϨϏϡʔ ɺͦͷޡղΛੜΈग़͢ॴʹͳΔՄ ೳੑ͕͋Δͱࢥ͍ͬͯͯɺϨϏϡʔ ͷॻ͖ํΛؾΛ͚ͭΔ͜ͱͰɺͦ͏͍ͬ ͨޡղΛੜ·ΕΔͷΛগͳ͘͢Δ͖ɻ
ਓؒؔͰΈͨ͘ͳ͍ͷͰɺ ޡղ͞Εͳ͍Α͏ʹ͢Δɻ
͑ํΛஸೡʹ͢Δ
ཧ༝Λॻ͘
ཧ༝Λॻ͘ ʮ΄͛΄͛ɺΑ͘ͳ͍ؾ͕͠·͢ʯ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ ͕͠·͢ʯ
๙ΊΔ
๙ΊΔ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ ͕͠·͢ʯ ʮ͜ͷίʔυՄѪ͍ΜͰ͕͢ɺ΄͛ ΄͛"ͳͷͰɺΑ͘ͳ͍ؾ͕͠· ͢ʯ
ఏҊ͢Δ
ఏҊ͢Δ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ ͕͠·͢ʯ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ ͕͠·͢ɻ;͕;͕ͷํ͕͍͍ͱ ࢥͬͨΜͰ͕͢ɺͲ͏Ͱ͠ΐ͏ʯ
ఏҊʹཧ༝Λॻ͘
ఏҊʹཧ༝Λॻ͘ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ͕͠ ·͢ɻ;͕;͕ͷํ͕͍͍ͱࢥͬͨΜͰ ͕͢ɺͲ͏Ͱ͠ΐ͏ʯ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ͕͠ ·͢ɻ;͕;͕ͷํ͕ղফ͞Εɺ͔ͭ#ͳ ͷͰྑ͍ͱࢥͬͨΜͰ͕͢ɺͲ͏Ͱ͠ΐ ͏ʯ
ͳΜͳΒ ίʔυͰࣔ͢
ͳΜͳΒίʔυͰࣔ͢ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ͕͠· ͢ɻ;͕;͕ͷํ͕ղফ͞Εɺ͔ͭ#ͳͷ Ͱྑ͍ͱࢥͬͨΜͰ͕͢ɺͲ͏Ͱ͠ΐ͏ʯ ʮ΄͛΄͛"ͳͷͰɺΑ͘ͳ͍ؾ͕͠· ͢ɻ;͕;͕ͷํ͕ղফ͞Εɺ͔ͭ#ͳͷ Ͱྑ͍ͱࢥͬͨΜͰ͕͢ɺͲ͏Ͱ͠ΐ͏ʁ ͜͏͍͏ײ͡Ͱ͢ʯ
╹◡╹ ŷţƄţŝƄƂƁŦʙ
େৎʂʂʂʂʂʂ ஈ֊͕͋Δʂʂʂʂ
͜ͷɺ͖ͬͨ͞͠Ϩϕϧ͕ग़དྷ Δਓୡ͕Δ͖͜ͱɻ ୭ʹͰग़དྷΔɺ؆୯ͳͷ͕͋Δʂʂʂ
σδλϧจࣈʹ ײ͕͜Γʹ͍͘ ͱ͍͏
ର໘Ͱ͍ͯ͠Δͱإ͕ݟ͑Δɻ ද͕Θ͔Δ ޡղʹܨ͕Γʹ͍͘
จࣈͷΈͩͱ إ͕ͳ͍ ද͕ͳ͍ ޡղʹܨ͕Γ͍͢
None
ͲͪΒ͕ΊͰ͍ͨ ͱײ͡Δʁ
ʮ͍͍ͱࢥ͍·͢ʯ
-(5.-PPLT(PPE5P.F
ͲͪΒಉ͡ҙຯͳͷʹɺ શ͘ΊͰ͕ͨ͞ҧ͏ɻ
None
ͬͱ ΊͰͨ͘Ͱ͖Δ
ΊͰͨ͘͢Δͱ
ײׂ૿ʂʂʂ
None
None
ϨϏϡʔͰྑͦ͞͏ ͱࢥͬͨΒ͏ɻ
None
None
None
None
MHUNJO IUUQMHUNJO
UJRBWDPN IUUQUJRBWDPN
͓ͬ͞Μ-(5.͔Γͩͱ ͭΒ͍ͷͰɺඒঁ-(5. IUUQIJTBJDIJIBUFOBCMPHKQFOUSZ
&NPKJ
None
,BPNPKJ
None
None
ͦΜͳ͜ΜͳͰ
ུ ͏ίʔυϨϏϡʔ ᘳʂʂ
ͱࠓࢥͬͱ ͜ʂʂʂ
ࠓͨ͜͠ͱ ίʔυϨϏϡʔͷత ࠓΔ͖͜ͱɾͦͷΓํ ࣍ʹΔ͜ͱ ϨϏϡʔͷํʢͻ͍ͪ͞ฤʣ
ϨϏϡʔ͑ํׂ͕ ײࡾׂ૿͠ͰΊͰͨ͞Ξοϓ
ࢀߟॻ੶63-ਓؒ !.BDP@5BTV ͑ํׂ͕ IUUQTHJTUHJUIVCDPN.BDP5BTV DEEECBGFEC IUUQIJUPEFIBUFOBCMPHDPNFOUSZ
IUUQTIJCBZVIBUFOBCMPHDPNFOUSZ IUUQIBLPCFIBUFOBCMPHDPNFOUSZ