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
1.8k
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
現実的なCompose化戦略 ~既存リスト画面の置き換え~
sansantech
PRO
0
170
Amazon Aurora バージョンアップについて、改めて理解する ~バージョンアップ手法と文字コードへの影響~
smt7174
1
250
CNAPPから考えるAWSガバナンスの実践と最適化
yuobayashi
5
680
AIエージェントについてまとめてみた
pharma_x_tech
11
8.5k
Women in Agile
kawaguti
PRO
2
170
ハンズオンで学ぶ Databricks - Databricksにおけるデータエンジニアリング
taka_aki
1
2.1k
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
6
550
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
15
6.5k
Oracle Cloud Infrastructure:2025年1月度サービス・アップデート
oracle4engineer
PRO
0
210
Amazon Location Serviceを使ってラーメンマップを作る
ryder472
2
160
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
6
3.2k
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
110
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
Optimising Largest Contentful Paint
csswizardry
33
3k
Embracing the Ebb and Flow
colly
84
4.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Making Projects Easy
brettharned
116
6k
How to Ace a Technical Interview
jacobian
276
23k
Facilitating Awesome Meetings
lara
51
6.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
19k
Done Done
chrislema
182
16k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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