Keeping Code Style Sanity in a 13-year-old Codebase
summary
Shopify documents migrating a 13‑year codebase of 700,000 lines of Ruby with ~400 Rails developers and 800+ contributors, using RuboCop plus a custom PR linter Felicia (Politia) that first commented on PRs, then switched to commit-status checks with about 50% adoption. Noisy comments force moving rules into CI, auto‑correcting many offenses via a bot, but linting slows tests so teams exclude huge migrations and plan PR auto‑commits for correctable fixes.
AI-written summary · about
chapters (7)
- 0:00Introduction and context
- 3:09Evolution of code style at Shopify
- 7:18Introducing RuboCop and HoundCI
- 11:38Fixing existing violations
- 16:12Refining tooling and strategy
- 19:20Future improvements and goals
- 22:14Final takeaways and conclusion
related talks
24mKeeping Code Style Sanity in a 13-year-old Codebase
33mKeeping Code Style Sanity in a 10-year-old Codebase
23mEmbracing Code Quality with Rubocop
34mShitlist-driven development and other tricks for working on large codebases
28mRefactoring for Rails - using deodorant to prevent code smells
31mHow GitHub uses linters
33mMeet Shopify's Ruby and Rails Infrastructure Team
26mSemi Automatic Code Review
