Code Modularity and Boundary Enforcement
Adopting Sorbet at Scale - Shopify

Adopting Sorbet at Scale - Shopify

11/19/2020

What this post added

This post details the adoption of Sorbet for static typing in Shopify's Ruby monolith, including the development of open-source tooling like RuboCop Sorbet, Tapioca for RBI generation, and Spoom for programmatic Sorbet interaction. It also shares lessons learned regarding the importance of full coverage, the dangers of `typed: ignore`, and the benefits realized even at `typed: false`, such as preventing `NameErrors` and finding dead code. The post emphasizes an empirical approach to measuring the impact of typing on production errors, using the internal `dev` tool as a case study.

Read the original post ↗