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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
9
1.7k
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
160
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
590
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.6k
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
500
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
710
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
470
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
140
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
250
8万デプロイ
iwamot
PRO
2
230
OpenClawで回す組織運営
jacopen
3
690
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
250
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
76
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
82
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Bash Introduction
62gerente
615
210k
sira's awesome portfolio website redesign presentation
elsirapls
0
190
The Curse of the Amulet
leimatthew05
1
9.8k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Between Models and Reality
mayunak
2
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