The Clean Coder

YOUTUBE NeXQEJNWO5w Uncle Bob Martin presents a talk on "The Clean Coder" at Laracon

There's a lot of deep industry knowledge that he talks through in a series of rants which I find really fascinating. He's a great storyteller.

Uncle Bob talks at length about how his son's Rails application didn't express the architecture of the application that's being developed.

Model View Presenter architecture, from 43:35 in the video above.

To the right you'll see Uncle Bob's suggested alternative architecture.

Interactors isolate you from the outside world. The Interactor in this case created a response model that gets pumped out through the boundary across that double black line. That double black line is an architectural boundary.

The left hand side is a plugin into the business rules, which might mean the web or any number of other interactive elements.

He also asks for people to take responsibility for their code because coders will always be asked why we did something. TDD is a great way to do this, but architecture is a pretty big deal too.

The main point of the system should be focused around Use Cases.

Pluggable Architecture from 1:03:00

The main point of the system should be focused around Use Cases.

Good architecture allows major decisions to be deferred such as the database.

Good architecture allows you to experiment with lots of details without committing to them.

Good architecture maximizes the amount of decision. An architecture should make the choice of tools irrelevant.