The Bike Shed

435: Cohesive Code with Jared Norman


Listen Later

How easy is it for a layperson to understand your systems? Jared Norman is a software consultant, speaker, and host of the Dead Code Podcast who specializes in building e-commerce applications in Ruby on Rails. This episode follows two recent talks at RailsConf and covers a theme that emerged from both of them: coupling and cohesion. Tuning in, you’ll gain insights on how to create more cohesive components to allow for change and improve your understanding of value objects, systems, and more. You’ll also hear about navigating the complexity of domain-driven design and learn how to gauge if your code is easy to understand through a simple rule of thumb. We discuss what it might look like to improve the cohesion of individual objects, identify your systems’ seams to create simplicity, and the liminal space between inheritance and composition and the role of decorators in moving through it. Join us today to hear all this and more!

Key Points From This Episode:

Introducing Jared Norman recent speaker at RailsConf and Ruby on Rails specialist.

Jared’s interests outside of coding: cycling.
Themes that emerged from Jared and Stephanie’s talks: coupling and cohesion.
A rule of thumb for achieving high cohesion.
How value objects tie into the idea of cohesion.
Creating more cohesive components in order to have code and systems that are easier to change.
The relationships between objects in increasing cohesion and how complex nestings of objects can hinder this.
Rearranging systems in order to find seams and create cohesion.
Simplifying code in order to facilitate it working independently to support functionality.
Improving systems by identifying opportunities for decoupling and other relationships.
Inheritance, composition, and decorators and the liminal space between.
The complexity of domain-driven design.
A rule that indicates when a system is easy to understand.

Links Mentioned in Today’s Episode:

  • Jared Norman
  • Jared Norman on X
  • The Most Useful Design Pattern
  • Dead Code
  • So Writing Tests Feel Painful. What Now?
  • Dungeons & Dragons & Rails by Joël Quenneville
  • Building Reusable Object-Oriented Systems: Composition
  • Debugging at the Boundaries
  • Working Effectively with Legacy Code
  • Growing Object-Oriented Software Guided by Tests
  • What’s in a Name
  • Joel Quenneville on LinkedIn
  • Support The Bike Shed

    ...more
    View all episodesView all episodes
    Download on the App Store

    The Bike ShedBy thoughtbot

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    121 ratings


    More shows like The Bike Shed

    View all
    Tentative by thoughtbot

    Tentative

    9 Listeners

    Software Engineering Radio by se-radio@computer.org

    Software Engineering Radio

    273 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    291 Listeners

    Giant Robots Smashing Into Other Giant Robots by thoughtbot

    Giant Robots Smashing Into Other Giant Robots

    88 Listeners

    Build Phase by thoughtbot

    Build Phase

    44 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    625 Listeners

    Soft Skills Engineering by Jamison Dance and Dave Smith

    Soft Skills Engineering

    284 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    986 Listeners

    REWORK by 37signals

    REWORK

    210 Listeners

    Crossroads by thoughtbot

    Crossroads

    2 Listeners

    CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

    CoRecursive: Coding Stories

    188 Listeners

    Remote Ruby by Chris Oliver, Andrew Mason

    Remote Ruby

    35 Listeners

    Practical AI by Practical AI LLC

    Practical AI

    209 Listeners

    Reboot by thoughtbot

    Reboot

    12 Listeners

    Code with Jason by Jason Swett

    Code with Jason

    14 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    62 Listeners

    Signals and Threads by Jane Street

    Signals and Threads

    72 Listeners

    Code and the Coding Coders who Code it by Drew Bragg

    Code and the Coding Coders who Code it

    6 Listeners

    IndieRails by Jess Brown & Jeremy Smith

    IndieRails

    6 Listeners

    The Pragmatic Engineer by Gergely Orosz

    The Pragmatic Engineer

    64 Listeners