Go offline with the Player FM app!
Undefined and Unforgiven (with Joel Drapper and Lucian Ghinda)
Manage episode 483867206 series 3645584
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
Practical Object-Oriented Design in Ruby (POODR) by Sandi Metz
ruby-require-hooks by Vladimir Dementyev
Modified Condition/Decision Coverage (MCDC) – advanced testing technique
Dead Code Podcast Links:
Mastodon
Jared’s Links:
Mastodon
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
46 episodes
Manage episode 483867206 series 3645584
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
Practical Object-Oriented Design in Ruby (POODR) by Sandi Metz
ruby-require-hooks by Vladimir Dementyev
Modified Condition/Decision Coverage (MCDC) – advanced testing technique
Dead Code Podcast Links:
Mastodon
Jared’s Links:
Mastodon
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
46 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.