Dead Code

Undefined and Unforgiven (with Joel Drapper and Lucian Ghinda)


Listen Later

In this episode of Dead Code, Jared is joined by Lucian and returning guest Joel to debate a classic Ruby dilemma: whether to access instance variables directly or use getter methods. Lucian advocates for getters, especially in large, fast-changing codebases, arguing they help catch subtle bugs and improve maintainability, as well as insights drawn from his time at Cookpad and the Short Ruby newsletter. Joel, while appreciating the clarity and performance of direct access, introduces his gem strict_ivars, which raises runtime errors for undefined variables, offering a hybrid solution that improves safety without sacrificing flexibility. The conversation expands into the future of Ruby developer experience, discussing AST-based tooling, the role of testing, and how small, intentional coding choices can add up to more resilient and readable software.


Links:


Short Ruby Newsletter

Show Ruby YouTube Channel

Joel Draper’s Website

strict_ivars Gem

Joel on Bluesky

Practical Object-Oriented Design in Ruby (POODR) by Sandi Metz

Prism

Bootsnap

ruby-require-hooks by Vladimir Dementyev

AST (Abstract Syntax Tree)

Modified Condition/Decision Coverage (MCDC) – advanced testing technique

Ruby Keyword Arguments

Cookpad

Plane

Shopify


Dead Code Podcast Links:


Mastodon

X


Jared’s Links:


Mastodon

X

twitch.tv/jardonamron

Jared’s Newsletter & Website


Episode Transcript


Hosted on Acast. See acast.com/privacy for more information.

...more
View all episodesView all episodes
Download on the App Store

Dead CodeBy Jared Norman