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
800
Beyond the RuboCop Defaults
koic
3
3.6k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
8.1k
RuboCop: LSP and Prism
koic
3
4.4k
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.5k
Other Decks in Programming
See All in Programming
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
8
2.4k
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
280
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
160
PEPCは何を変えようとしていたのか
ken7253
2
160
Formの複雑さに立ち向かう
bmthd
1
930
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
16
3.8k
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
Featured
See All Featured
A Tale of Four Properties
chriscoyier
158
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Site-Speed That Sticks
csswizardry
4
400
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Practical Orchestrator
shlominoach
186
10k
Automating Front-end Workflow
addyosmani
1368
200k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Writing Fast Ruby
sferik
628
61k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
360
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
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