Streamlining Large-Scale Java Development Using Error Prone • Sander Mak • GOTO 2022

This presentation was recorded at GOTO Amsterdam 2022. #GOTOcon #GOTOams Sander Mak - Java Champion, Author of O’Reilly’s “Java 9 Modularity“ & Tech Leader at Picnic ABSTRACT Using static analysis to spot bugs in your code has become a staple of modern Java development. But what if we can take this one step further where, instead of just finding issues, we fix them automatically? And, what if we can do this not just for bug patterns but for any coding pattern you’d like to enforce? At Picnic we use Google’s Error Prone and Refaster tooling to do just that. In this session you’ll learn what these tools are and how to use them effectively. Large-scale refactoring and enforcement of code patterns becomes a breeze once you master these tools. What’s more, you’ll get a view of some the automated refactorings we use within Picnic at scale. Come and learn how to take control of your codebase like you never have before! [...] TIMECODES 00:00 Intro 01:22 Refactoring at scale using Error Prone 02:20 The online groceries challenge 02:58 Picnic’s numbers 03:39 SonarQube 04:27 The need for automated sanity 05:28 Error Prone 07:11 Demo 10:53 Error Prone (continued) 16:00 Error Prone BugChecker 17:54 Demo 22:44 Custom BugChecks at Picnic 25:58 What’s not to like? 26:49 What if we could write rules by example? 27:29 Error Prone with Refaster 28:50 Demo 32:27 Refaster at Picnic: JDK 11 migration 34:53 Refaster at Picnic: Reactor anti-patterns 35:29 When to use Refaster? 36:12 Refaster vs BugChecks 36:59 Integrating Error Prone with CI 28:20 Practice your new superpower 39:26 Outro Read the full abstract here: RECOMMENDED BOOKS Sander Mak & Paul Bakker • Java 9 Modularity • Markus Eisele & Natale Vinto • Modernizing Enterprise Java • Kevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should Know • Dave Thomas & Andy Hunt • The Pragmatic Programmer • Joshua Bloch • Effective Java • Mark Heckler • Spring Boot: Up & Running • Laurentiu Spilca • Spring, Start Here • Thomas Vitale • Cloud Native Spring in Action (available soon) • Venkat Subramaniam • Programming Kotlin • #Java #JavaProgramming #Java8 #Java11 #Java17 #CloudNative #Programming #SanderMak #ModernizingEnterpriseJava #Coding #Refactoring #ErrorProne #BugChecker #SonarQube #SpotBugs #CheckStyle #Refaster #JDK11 #ContinuousIntegration #GoogleErrorProne Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at Sign up for updates and specials at SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Back to Top