Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Ernesto Tagwerker This talk will look at different definitions of code quality and then focus on one which will be composed of three sections:Code Coverage: How well covered is my application? Complexity: How complex are the methods in my application? Code Smells: Are there any known code smells in my application? Code CoverageI will talk about SimpleCov and how we would use it to calculate test coverage for our applications.ComplexityI will talk about flog and how we would use it to calculate a complexity score for our application. Combined with the previous section, we will be able to calculate the relative complexity (super complex methods are so much worse with 0% testcoverage). Ernesto will briefly explain Flog’s ABC metric (Assignments, Branches, Calls) Code Smells. He will also talk about reek and how we would use it to find code smells in a sample Roda application. After going over these three sections, he will talk about a new tool that he's built to take all these things into account and calculate a maintainability score. Let’s call it the StinkScore Ernesto is the Founder of Ombu Labs, a small software development company dedicated to building lean code. When he is not playing table tennis, he likes to maintain a few Ruby gems including database_cleaner and email-spec. He is passionate about writing less code, contributing to open source, and eating empanadas. Produced by NDV: https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1 #ruby #rubyconf #rubyconfau #rubyconf_au #rails #programming Thu Feb 20 13:30:00 2020 at Plenary Room
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 talk titled "Escaping The Tar Pit," Ernesto Tagwerker addresses the challenges of maintaining legacy software projects and the concept of software quality. He emphasizes the importance of assessing code quality through three main metrics: code coverage, complexity, and code smells. Key points discussed include: - **Understanding Technical Debt**: Tagwerker reflects on the difficulty of managing technical debt and how it can lead to projects being stuck in a "tar pit." He shares insights from his consulting experience with projects that often run over budget and sacrifice quality. - **Assessment Tools**: The speaker introduces various tools for evaluating code quality: - **SimpleCov** for measuring code coverage, which shows how much of the codebase is tested. - **Flog**, **Flay**, and **Ruby Critic** for measuring code complexity and identifying code smells. - **The StinkScore**: Tagwerker presents a new metric he developed, called the StinkScore, which combines metrics of code quality and coverage to prioritize refactoring efforts for complex files lacking adequate tests. - **Decision Framework**: Before taking on a project, stakeholders are encouraged to assess how long it would take to ship features or fix bugs, alongside the project's technical debt. - **Improvement Strategies**: Aimed at reducing technical debt, Tagwerker suggests removing unused files, refactoring problematic code, and increasing test coverage. He highlights the importance of tracking the StinkScore over time to understand progress regarding technical debt. In concluding his talk, Tagwerker encourages the open-source community to engage in discussions about software quality and to use tools like the StinkScore as a compass for improving maintainability within codebases. He invites feedback on his projects and emphasizes the importance of shared knowledge in tackling technical challenges in software development.
Suggest modifications
Cancel