Home / Series / Clean Code / Aired Order / Season 2 / Episode 1
Home / Series / Clean Code / Absolute Order / Season 1 / Episode 14

Foundations of the SOLID Principles

In this video Uncle Bob begins his exploration of the S.O.L.I.D. principles, by beginning at the beginning, and laying out their foundations. This is the first of several new episodes that will do deep-dives into the principles one-by-one. We begin with the question: "What is Design?". We make the case, based on Jack Reeves' famous 1992 paper, that the design of a system is best captured by the source code. That all other forms of design documentation, regardless of their usefulness, are preliminary and/or ancillary. If the design of a system is it's source code, then cleaning the source code is cleaning the design. But what are the symptoms of poor design? How can we know when the design of our systems is starting to degrade? To answer that, we take a harder look at the Design Smells of Rigidity, Fragility, Immobility, Viscosity, and Needless Complexity. How can we identify these smells and clean them before they become a significant problem? Next we watch a batch of code rot. We start with a pleasant and clean design and watch as change after change degrades that design into a festering mass. Then we study an alternate design that does not rot when the same changes are applied. We investigate the difference between those two designs and discover the principle that underlies all of Object-Oriented Design. We do a deep dive into the history of OO, and derive a new and unambiguous definition of OO based on Dependency Management. Finally we take a brief look at the S.O.L.I.D. principles which will be the topics of the next several episodes.

English
  • Originally Aired January 27, 2012
  • Runtime 60 minutes
  • Created September 17, 2017 by
    Administrator admin
  • Modified September 17, 2017 by
    Administrator admin
Name Type Role
Robert C. Martin Writer
Robert C. Martin Director