notes from weekend with Uncle Bob, day 1

read SICP! also, check out old lectures online (MIT)

(agile) architecture is the art of delaying decisions as long as possible

Big Redesign is almost always doomed to fail. clean the mess instead

having good/ agile/ evolving architecture depends on a good safety net of tests

extract till you drop

big functions have a geography that matches our caveman brain. doesn’t work too well when new to the code.

big functions are where objects go to hide

SRP
single responsibility principle
single reason-for-change principle
single source-of-change principle
who will ask for feature mods?
responsibility – family of functions to serve an actor 

gateway – access to DB primitives

OCP, open/ closed principle – extend without modify
moral center of sw architecture 

best predictor of change is change that’s already happened.
making a case for small changes into production to get feedback ASAP and frequently

good architecture – respond well to change, minimize amount of code that needs changing

biz/ domain and testability are both good (but different) reasons for abstraction, and might lead to different abstractions

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Connect with Facebook

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>