TALLMOVE

Software Engineering

Code smells, anti-patterns, state machines, concurrency: the concepts behind code that stays reliable.

Design Principles

Code Smells

Long Methodin progress

intro · ~20 min

A method that keeps growing hides how many paths run through it. Count the decisions and the nesting, then extract a helper and add a guard clause and watch which number falls.

Duplicated Codein review

intro · ~20 min

Two methods that open with the same three statements are one clone. Watch a detector find the run, extract it and see the clone survive, then replace the copy with a call.

Feature Envyin review

core · ~20 min

A method that reads four fields of another class and none of its own belongs over there. Count foreign data, locality, and providers, then move the method and watch the edges turn own.

Data Clumpsin review

intro · ~20 min

Three values that always travel together through signatures are an object without a name. Read every signature, find the names that keep company, then give them a class and watch the clump vanish.

Dead Codein review

intro · ~20 min

A method nobody calls, a field nobody reads, a call after a return. Search from the entry points, list what is never reached, then delete it in cascade order and watch the count fall.

Message Chainsin review

core · ~20 min

A client asks an object for an object for an object: the train wreck. Count the stranger hops along each spine, then hide a delegate and watch each chain lose a hop.

Shotgun Surgeryin review

core · ~20 min

An order's status is written from three classes, so one change is three edits. Count the classes that touch each field, then move each writer home and watch the spread fall.

Anti-Patterns

State Machines & Parsing

Compilers & Interpreters

Concurrency

Paradigms

Flow-Based ProgrammingThinking in Map, Filter, ReduceReactive Streams & Backpressure

Patterns

Design PatternsEnterprise Integration Patterns

Code Quality & Practice

Refactoring PracticeTest WritingAbstraction Workouts

Under the Hood

How Git Works: Content-Addressed Trees