Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Keynote: Code Quality Lessons Learned Bryan Helmkamp We started Code Climate with a simple hypothesis: static analysis can help developers ship better code, faster. Five years later, we analyze over 70,000 repositories each day spanning a wide variety of programming languages, and along the way we've learned a lot about code quality itself: what it means, why you want it, how you get it,and more. This talk will cover some of the more surprising insights, including what makes a code metric valuable, when unmaintainable code may be preferable, and the number one thing that prevents most developers from maintaining quality code over time. Help us caption & translate this video! http://amara.org/v/PsL5/
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 his keynote speech 'Code Quality Lessons Learned' at GoRuCo 2016, Bryan Helmkamp, founder of Code Climate, shares insights gained from analyzing over 80,000 code repositories. The talk revolves around the complex topic of code quality, defined through various attributes such as maintainability, simplicity, and performance. By addressing several probing questions regarding code quality, Helmkamp offers revealing answers that challenge conventional wisdom. Key points discussed in the keynote include: - **Definition of Code Quality**: Helmkamp notes that 'quality' in code can be subjective and emphasizes understanding the term within the context of a team's goals. Good code is not only functional but should also be comprehensible, maintainable, and documentable. - **Measuring Code Complexity**: Various metrics, including 'WTFs per minute,' cyclomatic complexity, ABC metrics, and lines of code, are discussed as ways to assess complexity. He highlights that selecting metrics should resonate with the team’s understanding and knowledge. - **Challenges of Older Projects**: Older projects often face maintainability issues due to accumulated technical debt and evolving business needs. Helmkamp suggests an iterative approach to keep code aligned with business requirements, advocating for the Boy Scout principle—leaving code better than you found it. - **Optimal Pull Request Size**: The study shows that around 400 lines is an ideal size for pull requests to maintain effective review processes without overwhelming reviewers. - **Accepting Sloppy Code**: There are scenarios where low-quality code may be acceptable, such as during initial hypothesis testing or when working on discardable projects. - **Fear as an Enemy of Quality**: The heart of the issue often lies in developers' fear of introducing errors, which can lead to less maintainable code. Emphasizing strategies such as automated testing and pair programming can help alleviate these fears and improve code quality. Helmkamp concludes by asserting that teams should clearly define code quality and take actionable steps to improve it, emphasizing proactive collaboration and thoughtful discussions within the development process. His insights underscore the importance of aligning a team’s understanding of code quality and fostering an environment that promotes continuous improvement.
Suggest modifications
Cancel