Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf2019 - Digging Up Code Graves in Ruby by Noah Matisoff As codebases grow, having dead code is a common issue that teams need to tackle. Especially for consumer-facing products that frequently run A/B tests using feature flags, dead code paths can be a significant source of technical debt sneakily piling up. Luckily, the Ruby standard library exposes Coverage -- which is a simple, experimental code coverage measurement tool. Let's dive into how Coverage and other tools can be used and expanded to track down dead code paths in Ruby. #rubyconf2019 #confreaks
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the presentation titled 'Digging Up Code Graves in Ruby' at RubyConf 2019, Noah Matisoff discusses the common issue of dead code in growing codebases, particularly in consumer-facing products. He examines how dead code can accumulate as technical debt, especially in environments utilizing feature flags for A/B testing. The talk specifically highlights the importance of code hygiene—an overall approach to maintaining code quality and longevity. Key points covered in the talk include: - **Definitions of Dead Code**: Matisoff differentiates between unreachable code—code that cannot be executed due to no logical flow leading to it—and executed code that does not affect the program’s output. - **Impact of Dead Code**: He emphasizes how dead code can slow applications, make navigation difficult for new engineers, and increase the complexity of updates and tests. - **Origin of Dead Code**: The introduction of feature toggles allows for rapid development but can lead to significant accumulations of dead code if not carefully managed. - **Code Hygiene Practice**: Matisoff mentions keeping dependencies updated, refactoring regularly, and maintaining accurate documentation as essential practices for good code hygiene. - **Managing Dead Code**: Strategies for identifying and managing dead code include using the Ruby standard library's Coverage tool for tracking code usage and ensuring that the issue of dead code is addressed alongside feature releases. In conclusion, while dead code may not directly break applications, over time it can lead to inefficiencies and increased costs. Matisoff advocates for proactive management of dead code as an integral facet of maintaining a healthy, efficient, and navigable codebase, stating that addressing dead code is vital to keeping code healthy. The talk engages the audience with various strategies and tools, encouraging them to reflect on their practices regarding code hygiene.
Suggest modifications
Cancel