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
Enter the OSS world [RuboCop] I. presage comment
Search
Koichi ITO
December 04, 2017
Programming
1
2.2k
Enter the OSS world [RuboCop] I. presage comment
福岡Ruby会議02 前夜祭
Koichi ITO
December 04, 2017
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Carving the Way to Ruby Engineering
koic
3
440
Beyond the RuboCop Defaults
koic
3
3k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
7.7k
RuboCop: LSP and Prism
koic
3
4.2k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Without Practice, No Emergence
koic
4
2.4k
Other Decks in Programming
See All in Programming
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
200
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
740
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.9k
たのしいparse.y
ydah
3
120
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
110
Zoneless Testing
rainerhahnekamp
0
120
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
We Have a Design System, Now What?
morganepeng
51
7.3k
How STYLIGHT went responsive
nonsquared
95
5.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Making Projects Easy
brettharned
116
5.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Designing Experiences People Love
moore
138
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
5IF$PNQBOZ ,PJDIJ*50FTN 'SJ Ԭ3VCZձٞલࡇ &OUFSUIF044XPSME <3VCP$PQ> *QSFTBHFDPNNFOU
None
None
None
None
0DUPCFS 3VCP$PQSFMFBTFE
None
CCBUTPWSVCPDPQ "EEOFXA4UZMF.JYJO6TBHFADPQ
None
Enter the OSS world RuboCop I. presage comment
1SFNPOJUJPO
"3BJMTBQQMJDBUJPO EFWFMPQNFOU
3FWJFXDPNNFOU
ࣗͨͪͷࢦఠͨ͜͠ͱ ଞͷػձͰࢦఠ͞Ε͏Δ
None
044 ใԽٕज़Λ௨ͯ͡ʜ 3JEFPO044
IUUQTUXJUUFSDPNPOLTUBUVT
)PXUPNBLF4UZMF.JYJO6TFHFDPQ
SBLFOFX@DPQ CFSBLFOFX@DPQ<3BJMT5PQ-FWFM*ODMVEF>
SBLFOFX@DPQ CFSBLFOFX@DPQ<3BJMT5PQ-FWFM*ODMVEF> 'JMFTDSFBUFE MJCSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEFSC TQFDSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEF@TQFDSC 'JMFNPEJpFE ASFRVJSF@SFMBUJWFSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEFABEEFE JOUPMJCSVCPDPQSC ! %PTUFQT
"EEBOFOUSZUPUIF/FXGFBUVSFTTFDUJPOJO $)"/(&-0(NE FH"EEOFXA5PQ-FWFM*ODMVEFADPQ <!ZPVS@JE><> "EEBOFOUSZJOUPDPOpHFOBCMFEZNMPSDPOpHEJTBCMFEZNM *NQMFNFOUZPVSOFXDPQJOUIFHFOFSBUFEpMF
8SJUFFYBNQMFT 50%0XIFOpOJTIFE SVOASBLFHFOFSBUF@DPQT@EPDVNFOUBUJPOA UPVQEBUFUIFEPDT NPEVMF3VCP$PQ NPEVMF$PQ NPEVMF3BJMT 50%08SJUFDPQEFTDSJQUJPOBOEFYBNQMFPGCBEHPPE DPEF
!FYBNQMF CBE CBE@NFUIPE HPPE CBE@NFUIPE BSHT 8SJUFDPQEFTDSJQUJPOBOE FYBNQMFPGCBEHPPE
8SJUFTQFDT EFTDSJCF3VCP$PQ$PQ3BJMT5PQ-FWFM*ODMVEFEP JUSFHJTUFSTBOP⒎FOTFXIFOVTJOHACBE@NFUIPEAEP FYQFDU@P⒎FOTF 36#:TUSJQ@JOEFOU CBE@NFUIPE ??????????6TFAHPPE@NFUIPEAJOTUFBEPGACBE@NFUIPEA 36#: FOE
! JUEPFTOPUSFHJTUFSBOP⒎FOTFXIFOVTJOHAHPPE@NFUIPEAEP FYQFDU@OP@P⒎FOTFT 36#:TUSJQ@JOEFOU HPPE@NFUIPE 36#: FOE FOE 8SJUFBCBEDBTFPOUIFAFYQFDU@P⒎FOTFA NFUIPE 8SJUFBHPPEDBTFPOUIFAFYQFDU@OP@P⒎FOTFTA NFUIPE
SVCZQBSTF SVCZQBSTFFJODMVEF.` TFOEOJMJODMVEF DPOTUOJM. ! SVCZQBSTFFFYUFOE.` TFOEOJMFYUFOE
DPOTUOJM. ! SVCZQBSTFFQSFQFOE.` TFOEOJMQSFQFOE DPOTUOJM. (FU4FYQSFTTJPOGSPNSVCZQBSTFDPNNBOE
EFG@OPEF@NBUDIFS EFG@OPEF@NBUDIFSJODMVEF@TUBUFNFOU 1"55&3/ TFOEOJM \JODMVEFFYUFOEQSFQFOE^ DPOTUOJM @
1"55&3/ 3FXSJUFBTOPEFQBUUFSOCBTFEPO4FYQSFTTJPO 'VSUIFSSFBEJOH IUUQTHJUIVCDPNCCBUTPWSVCPDPQCMPCNBTUFSMJCSVCPDPQOPEF@QBUUFSOSC
PO@YYYBEE@PGGFOTF .4(ATUBUFNFOUTAJTVTFEBUUIFUPQMFWFM6TFJOTJEFa ADMBTTAPSANPEVMFAGSFF[F ! EFGPO@TFOE OPEF SFUVSOVOMFTT TUBUFNFOUJODMVEF@TUBUFNFOU OPEF
SFUVSOVOMFTTUPQ@MFWFM@OPEF OPEF ! BEE@P⒎FOTF OPEF NFTTBHFGPSNBU .4( TUBUFNFOUTUBUFNFOU FOE 8SJUFFWFOUIBOEMFSAPO@OPEF@OBNFA PSAJOWFTUJHBUFA NFUIPE
*NQMFNFOUBUJPO 3FE (SFFO 3FGBDUPS 5FTUDPEFJTNPSFPCWJPVTBOEFBTJFSUP VOEFSTUBOEUIBOUIFPQFSBUJPOPG"45
8SJUFDPOpHpMFT 3BJMT5PQ-FWFM*ODMVEF %FTDSJQUJPO$IFDLTUIBUAJODMVEFA AFYUFOEABOEAQSFQFOEAFYJTUT BUUIFUPQMFWFM &OBCMFEUSVF ! ! *OUIJT13 UIFGPMMPXJOHTFUUJOHXJMMCFSFNPWFEMBUFS
3BJMT5PQ-FWFM*ODMVEF *ODMVEF BQQ SC "EEBOFOUSZJOUPDPOpHFOBCMFEZNM PSDPOpHEJTBCMFEZNM "EEBOFOUSZJOUPDPOpHEFGBVMUZNM *GEFGBVMUTFUUJOHJTSFRVJSFE
SBLFHFOFSBUF@DPQT@EPDVNFOUBUJPO 8SJUFUIF$)"/(&-0(NE CFSBLFHFOFSBUF@DPQT@EPDVNFOUBUJPO ! ! ! CFSBLF CFSBLFQBSBMMFMTQFD 'JOJTIFEJOTFDPOET pMFTUPPLTFDPOETUPMPBE
FYBNQMFT GBJMVSFT QFOEJOH CFSBLFQBSBMMFMBTDJJ@TQFD 'JOJTIFEJOTFDPOET pMFTUPPLTFDPOETUPMPBE FYBNQMFT GBJMVSFT QFOEJOH CFSBLFJOUFSOBM@JOWFTUJHBUJPO pMFTJOTQFDUFE OPP⒎FOTFTEFUFDUFE 8IFOpOJTIFE SVOASBLF HFOFSBUF@DPQT@EPDVNFOUBUJPOAUPVQEBUFUIFEPDT
0QFOB13
$POWFSTBUJPO
$POWFSTBUJPO
$POWFSTBUJPO
$POWFSTBUJPO
None
$POWFSTBUJPO
CCBUTPWSVCPDPQ "EEOFXA4UZMF.JYJO6TBHFADPQ
None
None
3VCP$PQIBTOPQSFSFMFBTF
None
'FFECBDL
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
*ODMVEFNBUDIFS
1SPQPTFlGBMTFOFHBUJWFz
1SPQPTFlGBMTFOFHBUJWFz
GBMTFQPTJUJWF ˣ GBMTFOFHBUJWF
044ʹόά͕͋Δͱ͍͏ ͳ͠ฉ͕͘ɺͱΓ͋͑ ͣ͋ͷόάϫγ͕ҭͯͨ
3BJMT͔Β4UZMFʹείʔϓ ΛͻΖ͕࣮͛ͨڱ͍·· ল
8PSLBSPVOEGPS 4UZMF.JYJO6TBHF *ODMVEF BQQ SC "EEUIJTTFUUJOHJOUPSVCPDPQZNM
3VCP$PQͷ࣍ճϦϦʔε Λ͓ͪԼ͍͞ ຊରԠ
l աͪΛؾʹපΉ͜ͱͳ͍ɻ ͨͩೝΊͯɺ࣍ͷྐͱ͢Ε ͍͍ɻͦΕ͕େਓͷಛݖͩɻ 'VMM'SPOUBM
w ϓϩδΣΫτͰͷ(JU)VCϨϏϡʔ 3VCP$PQͷϑΟʔυόοΫ ͷๅݿ &OUFSUIF044XPSME w ίʔυΛॻ͚ΔͳΒVQTUSFBN ίʔυΛॻ͜͏ w
*TTVFVQTUSFBNʹϨϙʔτ͠Α ͏ 1BSU**ʹͭͮ͘ ·ͱΊ
࣍ճ༧ࠂ
&OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME
<3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ
݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄
݄ ݄ ݄ ݄
FOE