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
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
0
2.2k
あなたの知らないクラフトビールの世界
miura55
0
170
データ基盤におけるIaCの重要性とその運用
mtpooh
5
770
srekaigi2025-hajimete-ippo-aws
masakichieng
0
130
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
2
3.8k
スクラムマスターの活動と組織からの期待のズレへの対応 / Dealing with the gap between Scrum Master activities and organizational expectations
pauli
2
900
ドメイン駆動設計によるdodaダイレクトのリビルド実践 / Rebuild practice of doda direct with domain-driven design
techtekt
0
260
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
5
1.5k
サーバレスの未来〜The Key to Simplifying Everything〜
kawaji_scratch
2
310
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
220
サーバーレス環境における生成AI活用の可能性
mikanbox
1
150
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
380
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
66
11k
A Philosophy of Restraint
colly
203
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Gamification - CAS2011
davidbonilla
80
5.1k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Six Lessons from altMBA
skipperchong
27
3.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
360
YesSQL, Process and Tooling at Scale
rocio
170
14k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
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