Published Jan 8, 2018

Clean Architecture - How to Quantify Component Coupling

Dive into Clean Architecture with Michael, Joe, and Alan Underwood as they unravel strategies to quantify component coupling, tackle dependency cycles, and implement coding best practices, ensuring top-notch code quality and fluid development processes.
Episode Highlights
Coding Blocks logo

Popular Clips

Episode Highlights

  • Dependency Cycles

    Identifying and removing dependency cycles is crucial for maintaining clean code. Michael Outlaw explains that dependency cycles can make releases difficult and fragile, leading to what he calls the "morning after syndrome" 1. Alan Underwood shares his struggle with compartmentalizing UI components, emphasizing the challenge of breaking apart features like logging and routing 2.

       

    Component Principles

    Component coupling principles are essential for defining stability and abstraction in code. Joe Zack introduces three principles: cyclic dependency, stable dependency, and stable abstractions 3. Michael and Alan discuss the importance of avoiding cycles in the component dependency graph to prevent circular dependencies 4.

    Allow no cycles in the component dependency graph.

    --- Alan Underwood

       

    Release Management

    Effective component release management can streamline development and prevent crises. Michael warns that a lengthening build schedule can lead to a crisis, while Joe highlights the benefits of smaller, more manageable integrations 5. Alan explains how versioning components can communicate changes and ensure compatibility 6.

    When teams depend on components released from other teams, there's no need for a weekly build to integrate everything.

    --- Alan Underwood

Related Episodes