📖Software design for flexibility: how to avoid programming yourself into a corner

authors
Hanson, Chris
year
2021
  • p.2 “additive programming” (re open-closed principle)

  • p.3 Postel’s law: “an implementation should be conservative in its sending bahavior, and liberal in its receiving behavior”

  • p.7 electronics is very composable because components have clear interfaces that describe their inputs and behavior. for each interface, there can be different compatible implementations

  • p.9 “biological systems use contextual signals that are informative rather than imperative”

  • p.53 “A good program must be written many times. […] The first draft may not clearly separate out the concerns, but by making that draft the programmer learns the structure of the problem.”