Keeping Code Style Sanity in a 10-year-old Codebase
summary
History of Shopify’s 10‑year Ruby codebase shows concrete moves and tradeoffs: 700,000 Ruby lines of code and ~400 Rails developers trigger adoption of Policial (a PR‑only wrapper) and Rubocop with auto‑correct and CI enforcement; >50% opt in early 2016, checkout/customers/giftcards become fully linted, custom cops block Rails deprecations, but mass auto‑correction breaks git blame, inflates PR churn and makes linting too slow without exclusions and caching.
AI-written summary · about
chapters (16)
- 0:00Start
- 3:28Lots of developers
- 4:13What does this mean for code style consistency?
- 4:31Creative solutions
- 5:33Ruby has evolved
- 6:25Inconsistent
- 7:11draft Ruby style guide
- 9:13Stop the bleeding
- 10:52Github commit status API Shopify Ruby style guide
- 12:192 Shopify Ruby style guide
- 18:18Important note: Policial doesn't fail builds
- 19:312 Shopify Rails cops
- 20:45The perfect plan
- 23:12A week in Shopify-time
- 24:44Following Rails steps
- 30:47Continue improving our style guide
related talks
24mKeeping Code Style Sanity in a 13-year-old Codebase
23mKeeping Code Style Sanity in a 13-year-old Codebase
23mEmbracing Code Quality with Rubocop
33mMeet Shopify's Ruby and Rails Infrastructure Team
34mShitlist-driven development and other tricks for working on large codebases
32mRails Security at Scale
36mRuby & Rails Versioning at Scale
28mRefactoring for Rails - using deodorant to prevent code smells
