How code is organized

How code is split into parts, and how the parts lean on each other.

  1. Stop 1, next

    What you call vs how it works interface, implementation

    Think of it when you decide what other code may see and rely on, or you notice code relying on how something works inside.

    StartAbout 3 minutes. The word for it comes at the end.
  2. Stop 2, next

    A named box of code function, module

    Think of it when you decide where a piece of code should live and what to name it, or you are about to paste the same code again.

    StartAbout 3 minutes. The word for it comes at the end.
  3. Stop 3, next

    Hide the detail abstraction

    Think of it when you wrap something complicated behind a simpler name, or you keep reaching around a [[wrapper]] to get at what it hides.

    StartAbout 3 minutes. The word for it comes at the end.
  4. Stop 4, next

    Change one, break another coupling

    Think of it when a small change touches many files, or a change in one place breaks something far away.

    StartAbout 3 minutes. The word for it comes at the end.
  5. Stop 5, next

    Someone else's code dependency

    Think of it when you or an agent add a library, or an update to a library you use arrives.

    StartAbout 3 minutes. The word for it comes at the end.
  6. Stop 6, next

    Same behavior, new shape refactor

    Think of it when the code works but is hard to change, or one change mixes cleanup with new behavior.

    StartAbout 3 minutes. The word for it comes at the end.
  7. Stop 7, next

    A loan against later technical debt

    Think of it when someone says "we will fix it later", or every change in one area takes longer than it should.

    StartAbout 3 minutes. The word for it comes at the end.