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
For Whom the Quality Exists
Search
Koichi ITO
September 27, 2018
Programming
5
1.8k
For Whom the Quality Exists
Code Review Meetup #4 (
https://sideci.connpass.com/event/98378
)
Koichi ITO
September 27, 2018
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Write Code Every Day
koic
1
400
Bliki (ja), and the Cathedral, and the Bazaar
koic
8
2.4k
Welcome to the LLM Club
koic
0
310
RuboCop: Modularity and AST Insights
koic
3
4.7k
Carving the Way to Ruby Engineering
koic
3
1.1k
Beyond the RuboCop Defaults
koic
3
4.5k
Minify Ruby Code
koic
2
2.4k
Permanent Agility
koic
38
9.2k
RuboCop: LSP and Prism
koic
3
5.3k
Other Decks in Programming
See All in Programming
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
240
MLH State of the League: 2026 Season
theycallmeswift
0
230
Improving my own Ruby thereafter
sisshiki1969
1
160
print("Hello, World")
eddie
1
510
AIでLINEスタンプを作ってみた
eycjur
1
230
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
140
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
500
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
380
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
230
OSS開発者という働き方
andpad
5
1.7k
Testing Trophyは叫ばない
toms74209200
0
770
時間軸から考えるTerraformを使う理由と留意点
fufuhu
14
4.5k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
A Tale of Four Properties
chriscoyier
160
23k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
GitHub's CSS Performance
jonrohan
1032
460k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Navigating Team Friction
lara
189
15k
Code Reviewing Like a Champion
maltzj
525
40k
Transcript
For Whom the Quality Exists ίʔυϨϏϡʔ͙͠͞ ,PJDIJ*50FTN 5IV $PEF3FWJFX.FFUVQ
0QFO/FUXPSL4QBDFJO%BJLBOZBNB
࣭ͱ୭͔ʹͱͬͯ ͷՁͰ͋Δ ʵ(FSBME.BSWJO8FJOCFSH
!LPJD w ג ӬγεςϜϚωδϝϯτ ίϛϡχςΟϚωʔδϟ w 3VCP$PQίϛολʔ w "30SBDMFFOIBODFE BEBQUFSίϛολʔ
w $VDVNCFSίϛολʔ
None
None
None
"3VCZDPEF def badName if something test end end
None
None
ࠓͷ
$PEF 3FWJFX
$PEF 3FWJFX
2VBMJUZ 1FPQMF
࣭ʹର͢Δωλຊ wιϑτΣΞֶ͔Βͷώ ϯτ
ਓʹର͢Δωλຊ wϏδωείϛϡχέʔγϣ ϯ͔Βͷώϯτ
For Whom the Quality Exists ίʔυϨϏϡʔ͙͠͞ ,PJDIJ*50FTN 5IV $PEF3FWJFX.FFUVQ
0QFO/FUXPSL4QBDFJO%BJLBOZBNB
ଟ༷ͳϝϯόʔ͕ࢀը͢Δ ϓϩδΣΫτʹ͓͍ͯ Կʹίʔυͷ࣭Λ্͛ͯ ͔͘ʁ
ࣗԿΛϓϩδΣΫτʹߩݙ ͢ΔͭΓͰɺϝϯόʔϓϩ δΣΫτʹԿΛߩݙͯ͠Β͍ ͍͔ͨΛڞ༗͢Δ࣮ફज़ υϥοΧʔ෩ΤΫααΠζ ʰΞδϟΠϧαϜϥΠʱ +POBUIBO3BTNVTTPOஶ
None
wख़࿅ऀ͔ΒϫφϏʔ·Ͱ͍ ΔϓϩδΣΫτΛྫͱ͢Δ wϨϏϡΞʔͱͯ͠ϨϏϡΠʔ ͷؔͱͯ͠ίʔυʹର͢ ΔظΛ͓࣋ͬͯ͘ 13ͷظͷ͢Γ߹Θͤ
ਅ࣮ɿϓϩάϥϚݸਓΛੳ ͨ͠ݚڀʹΑΔͱɺ࠷༏लͳ ϓϩάϥϚ࠷ѱʹൺɺഒ ༏Ε͍ͯΔɻ ιϑτΣΞΤϯδχΞϦϯά ʰιϑτΣΞ։ൃͷਅ࣮ͱͷιʱ ϩόʔτɾ-ɾάϥε
w܁Γฦ͠ίʔυΛߟ͖͑ͯͨϕ ςϥϯͱ࠷ۙϓϩάϥϛϯάΛ ֮͑ͨϫφϏʔͷίʔυҧ͏ w͋ΔݚڀʹΑΔͱϓϩάϥϚͷ ྗྔࠩഒ͋Δͱ͍͏ ϓϩάϥϛϯάೳྗͷࠩ
ΧςΰϥΠζྫ ϫφϏʔ ٕज़తͳ ࣮ݱೳྗ υϝΠϯࣝ ˢ ˠ ίΞ։ൃऀ υϝΠϯΤΩεύʔτ ৽نࢀըͷ
։ൃऀ υϝΠϯ ΤΩεύʔτ
ϓϩάϥϛϯάͱ͍͏ ٕܳ
ͲΕ͕͓ΈͰ͔͢ʁ bmi = weight / (height ** 2) bmi=w/(h**2) bmi=weight/(height**2)
" # $
ಡΈͮΒ͍ίʔυͰ ίϯϐϡʔλΛಈ͔ͤ Δ͕ɺͩΕ͔ʹͱͬͯ ಡΈ͍͢ίʔυʹ͢ ΔʹηϯεΛཁ͢Δ
wϩδοΫͷଥੑɺ໊͚ͷଥੑɺ ιϑτΣΞςετख๏ͳͲਓͷྖҬ wελΠϧͷϨΠΞτͳͲͷϓϩδΣ Ϋτݻ༗จԽ w/ ݕग़ɺػցతʹݕग़ՄೳͳηΩϡ ϦςΟରࡦɺͳͲࣗಈԽͷྖҬ ϨϏϡʔൣғྫ
wਓͰͳ͍ͱϨϏϡʔͰ͖ͳ ͍ϙΠϯτʹͰ͖Δ͚ͩয Λ͍͋ͯͨ wਓ͔ΒਓʹٕܳΛ͑Δ ຊ࣭తͳϨϏϡʔ
None
wίʔυϨϏϡʔʹΑΔ ػձେ͖͍ wͬͱίʔυϨϏϡʔྗ ͕ߴ͍༰͕νʔϜͰ࠷ߴ ͷ࣭ΛੜΈग़ͤΔ ։ൃϓϩηεਓ
4/ൺ 4Λ૿͠ /ΛݮΒ͢
w13Λ։͘લʹࣗʹग़དྷΔ࠷ߴͷ13 Ͱ͋Δ͜ͱΛηϧϑϨϏϡʔ͢Δ wgit log -pͰݟฦ͢ɺ3VCP$PQ ͳͲͷ-JOUFSΛ࣮ߦ͢ΔɺͳͲ wࣗͷͰ͖ΔҎ্ͷ͜ͱͰ͖ͳ͍ ͷͰɺͦ͜ΛϨϏϡΞʔʹͤΔ 4/ൺͷ/ΛݮΒ͢ॳख
w-JOUFS͕ߦ͏ͷݴޠ༷ϓ ϩδΣΫτϧʔϧʹରͯ͠ग़དྷ ͍ͯͳ͍Ұఆظج४Ϩϕϧ· Ͱͷఈ্͛͢Δ wͰ͖ΔਓΛΑΓͰ͖ΔΑ͏ʹ͢ ΔͷͰͳ͍ -JOUFSΛͬͨࣗಈԽ
w৽͘͠ϓϩδΣΫτʹೖͬͨϝ ϯόʔͷελΠϧͷػցతͳ ୡΛߦ͑Δ wਓϨϏϡʔͨ͠Βਓಉ ͡ࢦఠ͕Ͱ͖Δ༰-JOUFS ͖ -JOUFSͷྑ͍ͱ͜Ζ
wࣗͷॻ͍ͨίʔυʹࣗ ͕Ө͞Ε͕ͪ wϨϏϡΞʔରϨϏϡΠʔ :PVWTNF ͔Βࢦఠࣄ߲ ରϨϏϡΠʔͷߏਤʹม͑Δ 1SPCMFNWT6T
-JOUπʔϧ Ξϯνύλʔϯ
wܯࠂΛड͚ೖΕ͍ͯΔঢ়ଶ wσϑΥϧτͰͷద༻͕ϓϩ δΣΫτʹ߹͏͔ݕ౼͢Δ wͦΕ-JOUFSͷόά͔ʁ कഁ
wͳͥͦͷελΠϧ͕·͍͠ ͷ͔͕ϝοηʔδ͚ͩͰ அ͕͍͜͠ͱ͕͋Δ wతʹ-JOUFSΛ͏ͷͰ ͳ͘ελΠϧͷഎܠΛΔ -JOUFSʹݶΒͣίϛϡχέʔγϣϯΛཔΕ
wϋογϡͷΧοίʹۭനΛೖ Εͳ͍ {foo: 1, bar: 2} wϋογϡͷΧοίʹۭനΛೖ ΕΔ { foo:
1, bar: 2 } എ͢ΔίʔσΟϯάελΠϧ
wΧοίʹۭനΛೖΕͳ͍ͷࢥ wϒϩοΫͱ͍ͬͨແ໊ؔͱͷ ରൺΛͯ͠ϋογϡͷΑ͏ͳී วతͳΦϒδΣΫτʹΧοί ͷۭനෆཁ ࢥΛΔ
w໊લͷू·ΓͰ͋Δίʔυ ͦͷͷʹҙຯ͕͋ΔΑ͏ ʹɺϨΠΞτۭߦʹ ҙຯΛ࣋ͨͤΔ ίʔυͷҰߦɺ݂ͷҰణ
wೣɺݘ w͖ͷ͜ɺ͚ͨͷ͜ wจࣈྻμϒϧΫΥʔτɺ γϯάϧΫΥʔτ ͦΕͧΕͷΈʹݴ͍͕͋Δ
IUUQEIBUFOBOFKQLFZXPSE""%"$&"#"#'"#"$&"#$&'$&
wܯࠂΛड͚ೖΕ͍ͯΔঢ়ଶ wσϑΥϧτͰͷద༻͕ϓϩ δΣΫτʹ߹͏͔ݕ౼͢Δ wͦΕ-JOUFSͷόά͔ʁ ߟ͑Λ࣋ͬͯक͔Βഁ
For Whom the Quality Exists
wࣗಈԽ͞ΕͨϨΠΞτɺ -JOUJOH3VCP$PQ &4-JOU FUD w/ 944ରࡦͳͲඇػೳཁ݅ #SBLFNBO #VMMFU
FUD w։ൃऀͷϨϕϧʹ͋·Γґଘ͠ͳ͍ ࣗಈԽ͕ൺֱత༰қ
wςʔϒϧઃܭɺΫϥεઃܭɺ໊͚ͷ ଥੑɺϩδοΫͷଥੑɺͳͲਓͷ ྖҬʹ͓͚Δ΄΅ͯ͢ wϨϏϡʔΛࣗಈԽͰ͖ͳ͍ίʔυ͕ຊ དྷϨϏϡʔ͍ͨ͠ର wˢ։ൃऀͷٕܳʹґଘ͢Δͷݟͤॴ -JOUFSͷۤखͳͱ͜Ζ
wϨϏϡʔʹ࣌ؒΛ͏ w܁Γฦ͠දग़͢Δࣄʹର ͯ͠ίϯϐϡʔλಘҙ wະͷࣄʹ͍ͭͯ·ͩί ϯϐϡʔλʹݶք͕͋Δ ਓͱίϯϐϡʔλͷϨϏϡʔ
ϨϏϡʔ5JQT
wϨϏϡʔॳظʹ͚ۙΕ͍ۙ΄Ͳ ࢦఠࣄ߲͕ग़қ͍ wBQQSPWFͷ͕ҰఆҎ্ʹͳͬͯ ͦΕ΄Ͳ্࣭͕Βͳ͍ wܦݧ্֓ͶͭBQQSPWF͋Εྑ͍ wͪΖΜνʔϜͷͱ࣭ʹΑΔ Կਓ·ͰΫϩεϨϏϡʔʁ
wؒҧ͍ͬͯΔ͜ͱΛؒҧ͍ͬͯΔͱݴΘΕΔ ͷπϥ͍ wࣗͷࢦఠ͕ؒҧͬͯΔ͜ͱ͕͋Δ wʮ˓˓Ͱ͠ΐ͏͔ʁʯৗ۟ͰͬͨΓ͢ Δ w͔ͳΓͷ֬৴͕͋ͬͯͬͨΓ͢Δ wಛʹҭ͖ͷख๏ ֬৴Λࣔ͢ΑΓ͍͔͚Α
౪ਓʹޒͷཧΛೝΊΔ ॏཁײΛ࣋ͨͤΔ ਓͷཱʹΛஔ͘ ਓΛಈ͔̏͢ݪଇ ʰਓΛಈ͔͢ʱ %ɾΧʔωΪʔ
wҰՈݴ͋ΔϨϏϡΞʔ͕͍Δػೳ ͕͋Δ w13Ͱ3FWJFX3FRVFTUΛ͋Β ͔͡Ίૹ͓ͬͯ͘ w͋ͱͰ͜Ε·ͰͷϨϏϡʔ͕Ҿͬ ܁ΓฦΔ͜ͱΛ༧͢Δ ൪ͷϨϏϡʔґཔ
w৭ใͰ͋Δ wϨϏϡΞʔʹରͯ͠Χϥϑϧͳใʹͯ͠ ෛՙΛݮΒ͓ͯ͢ͳ͠ wόοΫΫΥʔτͭͷޙΖʹݴޠΛࢦఆ͠ ͯғΉ͜ͱͰϋΠϥΠτ͢Δ ```ruby puts 'hello, world' ```
ಡΈखͷෛՙΛݮΒ͓ͯ͢ͳ͠
wՃใͱͯ͠۩ମతͳίʔυߦͷ63- ΛϦϯΫ͚Δͱ༗ޮͳ͜ͱ͕͋Δ w͋Δ(JU)VCͷίʔυϦϯΫͷ༰Λ ݟͨΒҧ͏ՕॴΛ͍ࣔͯ͠Δ wNBTUFSϒϥϯνࠁʑͱมԽ͍ͯ͘͠ w(JU)VCͷίϛοτ্ͰlZzΛԡ͢ ύʔϚϦϯΫΛҾ༻͢Δ
͋ΘͤͯಡΈ͍ͨ
wॻ͘ਓΑΓಡΉਓͷํ͕ଟ͍ wͯ͘͠ߦ͘αʔϏε΄Ͳ ίʔυಡΈܧ͕Ε͍ͯ͘ wݱࡏͷಡऀͱະདྷͷಡऀʹͪΐͬ ͱͨ͠ؾΓΛ͓ͯ͘͠ 5IFXBZUPUIFUJNFMFTTXBZPG
For Whom the Quality Exists
࣭ͷཐટ
ίʔυ Ϗδωε ϨϏϡʔ
ίʔυ Ϗδωε ϨϏϡʔ
Ϗδωε ίʔυ ϨϏϡʔ
ϨϏϡʔ Ϗδωε ίʔυ
ίʔυ Ϗδωε ϨϏϡʔ lશମz
ίʔυ Ϗδωε ϨϏϡʔ lશମz γεςϜΈࠐΈͷ ্࣭ͱ։ൃऀͷ
wϏδωεϑΟʔυόοΫͷૉૣ࣮֬͘ͳ ରԠෳࡶͰͳ͍ίʔυ͕Մೳͱ͢Δ wणΞϓϦέʔγϣϯΛϦϓϨʔε͢Δͷ ԟʑʹ༧ࢉͱ࣌ؒΛ͏ wίʔυϨϏϡʔͱ͍͏ఆظతͳ݈߁அ w༏लͳ։ൃऀ݈શͳίʔυ͕॓Δγες Ϝ։ൃʹ͔͏ ͳͥͦΜͳʹͳΔ࣭ॏཁ͔ʁ
࣭ͱ୭͔ʹͱͬͯ ͷՁͰ͋Δ ʵ(FSBME.BSWJO8FJOCFSH
None