Code of the Day
IntermediateApplied Systems

Lab: think in systems

Apply systems thinking, structure, and complexity to concrete design calls.

Lab · optionalFundamentalsIntermediate11 min
Recommended first
By the end of this lesson you will be able to:
  • Distinguish pure transformations from side effects
  • Read coupling and cohesion in a situation
  • Choose structures and estimate cost

Optional scenario lab. Practice using the systems-and-structure ideas as judgment calls — the way you'd apply them reviewing a design or a diff.

Scenarios: systems and structure

  1. 1.
    Which function is pure?
  2. 2.
    A one-line change forces edits across ten files. This is a symptom of:
  3. 3.
    Your code repeatedly asks "is this value in the collection?" over a large set of items. Best structure?
  4. 4.
    A loop nested inside another loop, both over the same large list, is roughly:

The habit to keep: see code as flows, watch the side effects and the coupling, and let the operations pick the structure.

Finished reading? Mark it complete to track your progress.