Get an improved navigation experience with a Chrominium based browser.
Dismiss
Ruby Video
Talks
Speakers
Events
Leaderboard
Sign in
Talks
Speakers
Events
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Date
Summary
Markdown supported
In her presentation at RubyDay 2016, Kylie Stradley discusses a practical taxonomy of bugs in software development and effective strategies for debugging them. The central theme of the talk is to demystify debugging processes by categorizing bugs into recognizable patterns, thus equipping developers with logical approaches to solving issues rather than relying solely on instinct or experience. The key points of the presentation include: - **Debugger as a Swiss Army Knife**: Debugging is compared to a Swiss Army knife, highlighting its versatility in tackling various software problems. - **Instincts vs. Patterns**: While debugging often seems intuitive, Stradley emphasizes the importance of developing logical patterns over relying on a single developer's insights. - **Bugs Category**: Stradley identifies four major categories of bugs to aid in debugging: - *Bore Bugs*: Easily reproducible bugs found in the code, often resulting from inadequate testing. - *Schrodinger Bugs*: Bugs that appear functional until examined closely, often leading to confusion regarding their validity. - *Heisenberg Bugs*: Elusive bugs that alter behavior upon observation, making them difficult to diagnose. - *Mendel Bugs*: Bugs where numerous interconnected issues appear to be broken but can often boil down to a single underlying problem. - **Reproducibility and Logging**: Importance of establishing clear reproducibility for debugging and utilizing logging strategies to facilitate tracking down bugs effectively. - **Examples**: Stradley uses specific scenarios to illustrate how these bugs manifest and how best to tackle them, including logging practices and testing scenarios. - **Takeaway**: Debugging can be transformed from a mystical process into a systematic approach through classification and documentation of bugs. All developers should aspire to create their own debugging toolkit to enhance problem-solving efficiency. - **Collaboration and Teamwork**: The significance of fostering a collaborative environment among developers and ops teams to handle complex issues, promoting shared knowledge and support. Kylie concludes that building a practical toolkit for debugging will empower developers to manage complex applications and improve overall team efficacy.
Suggest modifications
Cancel