Many Java codebases contain code that is overly complicated, hard to understand, and hence expensive to change. It doesn’t have to be that way, and in this presentation you will see how easily obtained version-control data let us uncover the behavior and patterns of the development organization to prioritize and guide refactorings. This presentation covers refactoring techniques that address hidden implicit dependencies, discusses architectural restructuring to reduce inter-team coordination needs, and explores novel patterns that help us limit risks and code conflicts. The specific examples are from real-world codebases like Android, the Linux Kernel, JUnit, and more.
Video producer: http://www.jfokus.com