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
8年目のプロジェクトにRuboCopを導入した話/Introduce RuboCop In 8...
Search
Yuta Kamezezaki
May 30, 2019
Technology
3
2k
8年目のプロジェクトにRuboCopを導入した話/Introduce RuboCop In 8-year-old project
8年の歴史があるプロジェクトにRuboCopを導入した話です。
Yuta Kamezezaki
May 30, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
Datadog の RBAC のすべて
nulabinc
PRO
3
450
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
110
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
500
[2026-03-07]あの日諦めたスクラムの答えを僕達はまだ探している。〜守ることと、諦めることと、それでも前に進むチームの話〜
tosite
0
200
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
290
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
190
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
360
Kubernetesにおける推論基盤
ry
1
320
Claude Code のコード品質がばらつくので AI に品質保証させる仕組みを作った話 / A story about building a mechanism to have AI ensure quality, because the code quality from Claude Code was inconsistent
nrslib
13
7.1k
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
540
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
140
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
160
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
140
It's Worth the Effort
3n
188
29k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
980
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Producing Creativity
orderedlist
PRO
348
40k
エンジニアに許された特別な時間の終わり
watany
106
240k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
230
Transcript
©2019 Wantedly, Inc. Introduce RuboCop In 8-year-old project May 30,
2019 - Yuta Kamezaki Meguro.rb #27
©2019 Wantedly, Inc. Yuta Kamezaki @ykamez About me Twitter: @ykamez_
2 Wantedly. Inc. / Engineer 2019ೖࣾɻ Wantedly VisitͷάϩʔενʔϜॴଐ ੳ͔ΒࢪࡦఏҊɺ࣮(αʔόʔ)·ͰΛ୲ɻ
©2019 Wantedly, Inc. 3VCP$PQΛೖΕ͍ͨਓ ಛʹɺطଘͷϓϩδΣΫτʹೖΕΔέʔε ର
©2019 Wantedly, Inc. େมͩͬͨ͜ͱ ͨ͜͠ͱ ࠓ͢͜ͱ ࡀͷϓϩδΣΫτʹ3VCP$PQΛಋೖ͢Δ·Ͱ
©2019 Wantedly, Inc. w ͲͷϧʔϧΛ࠾༻͢Δ͔ w ͲͷΑ͏ʹͬͯΒ͏͔ w Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ େมͩͬͨ͜ͱ
Ұൠతͳ
©2019 Wantedly, Inc. ྺ࢙͕ͯ͘ڊେ ੜ·Ε ߦ: 166,566 େมͩͬͨ͜ͱ 8BOUFEMZͳΒͰͷ
©2019 Wantedly, Inc. w ؒΈΜͳࣗ༝ͳελΠϧͰॻ͍͖ͯͨ w طଘίʔυͷमਖ਼͕େม w ؔऀ͕ଟ͍ˠίϯηϯαε͕औΓͮΒ͍ w
ࠓߋײ ৺ཧతϋʔυϧ େมͩͬͨ͜ͱ 8BOUFEMZͳΒͰͷ ྺ࢙͕ͯ͘ڊେ
©2019 Wantedly, Inc. σϑΥϧτͰΒͤͯΈͨ ͲͷϧʔϧΛ࠾༻͢Δ͔
©2019 Wantedly, Inc. ͲͷϧʔϧΛ࠾༻͢Δ͔ Inspecting 4062 files 4062 files inspected,
126547 offenses detected σϑΥϧτͷϧʔϧͷ߹ 126,547 offenses
©2019 Wantedly, Inc. σϑΥϧτͷϧʔϧݫͦ͠͏ ͲͷϧʔϧΛ࠾༻͢Δ͔ ϧʔϧͱݱঢ়ʹେ͖ͳဃ͕͋Δ
©2019 Wantedly, Inc. NFPXDPQͷϧʔϧ͕ྑ͍Β͍͠ ͲͷϧʔϧΛ࠾༻͢Δ͔ ผνʔϜͰಋೖ͓ͯ͠Γɺධ͕ྑ͔ͬͨ
©2019 Wantedly, Inc. 3VCP$PQͷDPOpHͷHFN https://github.com/sider/meowcop ελΠϧͷࢦఠ͠ͳ͍ w ϓϩδΣΫτݻ༗ͷϧʔϧΛແޮԽ
https://blog-ja.sideci.com/entry/2016/10/03/171816 NFPXDPQͱ →طଘProjectʹಋೖ͍͢͠
©2019 Wantedly, Inc. 4062 files inspected, 12080 offenses detecte ͲͷϧʔϧΛ࠾༻͢Δ͔
NFPXDPQͷϧʔϧͷ߹
©2019 Wantedly, Inc. 4062 files inspected, 12080 offenses detecte ͲͷϧʔϧΛ࠾༻͢Δ͔
NFPXDPQͷϧʔϧͷ߹ 12,080 offenses
©2019 Wantedly, Inc. 4062 files inspected, 12080 offenses detecte 126,547→12,080
ͲͷϧʔϧΛ࠾༻͢Δ͔ NFPXDPQͷϧʔϧͷ߹ ݱ࣮తͳဃ
©2019 Wantedly, Inc. ͲͷϧʔϧΛ࠾༻͢Δ͔ w ͲͷΑ͏ʹͬͯΒ͏͔ w Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ େมͩͬͨ͜ͱ ✅
©2019 Wantedly, Inc. ୭Θͳ͔ͬͨΒҙຯ͕ͳ͍ ͲͷΑ͏ʹͬͯΒ͏͔ ڧ੍ྗ͕ͳ͍ͷܗ֚Խ͕ͪ͠
©2019 Wantedly, Inc. ͲͷΑ͏ʹͬͯΒ͏͔ +
©2019 Wantedly, Inc. 1. reviewdog 3VCP$PQͷ݁ՌΛ13ʹίϝϯτͯ͘͠ΕΔ IUUQTHJUIVCDPNSFWJFXEPHSFWJFXEPH 2. Travis
CI $*αʔϏεͰࣗಈνΣοΫ ͲͷΑ͏ʹͬͯΒ͏͔ ˠΏΔΊͷӡ༻ࣗಈԽ $*མͱ͞ͳ͍
©2019 Wantedly, Inc. ͲͷϧʔϧΛ࠾༻͢Δ͔ ✅ͲͷΑ͏ʹͬͯΒ͏͔ w Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ େมͩͬͨ͜ͱ ✅
©2019 Wantedly, Inc. w طଘͷίʔυͷѻ͍ w ϧʔϧऔࣺબͷϓϩηε Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠
©2019 Wantedly, Inc. طଘͷίʔυͷѻ͍ Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ ϧʔϧΛద༻ͨ͠Βɺطଘͷ$PEFमਖ਼ɻ ϧʔϧͱ$PEFͷဃΛ͙ɻ
©2019 Wantedly, Inc. ϧʔϧऔࣺબͷϓϩηε Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ JTTVFͰٞˠϧʔϧ֬ఆˠө JTTVFͰΦʔϓϯʹٞ͠ɺೲಘײΛ࣋ͨͤΔɻ
©2019 Wantedly, Inc. ϧʔϧऔࣺબͷϓϩηε Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠
©2019 Wantedly, Inc. JTTVFͰΦʔϓϯʹٞ͠ɺೲಘײΛ࣋ͨͤΔɻ ϧʔϧऔࣺબͷϓϩηε Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ JTTVFͰٞˠϧʔϧ֬ఆˠө
©2019 Wantedly, Inc. ͲͷϧʔϧΛ࠾༻͢Δ͔ ✅ͲͷΑ͏ʹͬͯΒ͏͔ ✅Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠FUD େมͩͬͨ͜ͱ ✅
©2019 Wantedly, Inc. ՝ େมͩͬͨ͜ͱͨ͜͠ͱ ํ๏ •ؔऀͷଟ͞ •ڊେ͞ •8ͷྺ࢙ •ΏΔ͍ϧʔϧͰελʔτ
•CIͰࣗಈԽ(ڧ੍͠ͳ͍) •Φʔϓϯͳٞ •ӡ༻ํͷ໌֬Խ • ͲͷϧʔϧΛ࠾༻͢Δ͔ • ͲͷΑ͏ʹͬͯΒ͏͔ • Ͳ͏͍͏ํͰӡ༻͍͔ͯ͘͠ Ұൠతͳ Wantedlyݻ༗ͷ
©2019 Wantedly, Inc. ແࣄ3VCP$PQಋೖ ӽ͠ͷಋೖ
©2019 Wantedly, Inc. ྑ͍ • ϨϏϡʔલʹϛεʹؾ͕͚ͭͨɻ ՝ • ϧʔϧͷऔࣺબ͕͍͠ɻ •
ϧʔϧΛܾΊΔϓϩηε͕ᐆດɻ Ԡ
©2019 Wantedly, Inc. ϧʔϧऔࣺબͷϓϩηεޮԽ • ೲಘײͷ͋ΔϧʔϧΛͲ͏ૉૣܾ͘Ί͍͔ͯ͘ ͲΕ͘Β͍ݫ͍͠ӡ༻ʹ͢Δ͔ •
CIམͱ͢ͷ͔ ࣾͷϧʔϧڞ௨Խ ϚΠΫϩαʔϏε Δ՝ ˠ·ͩ·ͩࢼߦࡨޡத
©2019 Wantedly, Inc. ͷϓϩδΣΫτͰಋೖͰ͖Δ • ઍཬͷಓҰา͔Β ΏΔ࢝͘ΊͯΈΑ͏ ·ͱΊ
©2019 Wantedly, Inc. Thank you