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
4
4.4k
Dartにおける静的解析 / FlutterKaigi 2022
hisaichi5518
0
2.2k
ソフトウェアエンジニアが品質保証を学んでわかったこと / What software engineers have learned about quality assurance
hisaichi5518
6
10k
10X と Flutter / 10X with Flutter
hisaichi5518
0
2.2k
ひさいちとの1on1
hisaichi5518
0
2.6k
しあわせ推進委員会 / Shiawase Promotion Committee
hisaichi5518
0
1.2k
2017-03-23
hisaichi5518
0
3.7k
Pepabo Tech Conference 7
hisaichi5518
1
1.1k
かんばんやりたい
hisaichi5518
0
1.1k
Other Decks in Technology
See All in Technology
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
250
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
300
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.1k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
180
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
460
AI時代の開発生産性を加速させるアーキテクチャ設計
plaidtech
PRO
3
160
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
OPENLOGI Company Profile for engineer
hr01
1
34k
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
280
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
9
4.4k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
690
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
KATA
mclloyd
30
14k
How to Ace a Technical Interview
jacobian
278
23k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Become a Pro
speakerdeck
PRO
29
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
How to train your dragon (web standard)
notwaldorf
95
6.1k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Visualization
eitanlees
146
16k
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