Published Jul 27, 2017

What is Supple Design?

    Delve into the world of Supple Design as the hosts unpack declarative design principles, the impact of specification patterns, and the art of crafting efficient systems through conceptual contours and value objects. Enhance your understanding of Domain Driven Design and refactoring techniques with practical insights into TDD for maintaining top-notch code quality.
    Episode Highlights
    Coding Blocks logo

    Popular Clips

    Episode Highlights

    • Practical Examples

      Practical examples of refactoring highlight the importance of clarity and structure in codebases. Joe Zack discusses the concept of separating queries from modifiers, emphasizing the need for clear, unambiguous code. He explains how refactoring can make implicit concepts explicit, improving code readability and maintainability 1. Alan Underwood adds that transforming implicit data into explicit classes, like converting integers into a pigment class, enhances comprehension 2.

      Every dependency in a class is suspect until it's proven as essential by that class.

      --- Alan Underwood

      These examples underscore the value of refactoring in creating more understandable and efficient code.

         

      TDD and Refactoring

      Test-Driven Development (TDD) plays a crucial role in refactoring, ensuring code reliability and quality. Alan Underwood shares an example where TDD helped identify the need to move functionality to different classes, highlighting that TDD doesn't solve all problems but provides a framework for ongoing improvement 3. Joe Zack notes that breaking down problems into smaller parts can reveal insights that improve code structure 4.

      TDD can give you more courage and reduce regressions, but it requires constant adaptation to new requirements.

      --- Alan Underwood

      This approach encourages developers to continuously refine their code, adapting to new challenges and requirements.

    Related Episodes