Home - bradyclifford/sdlc GitHub Wiki

Being a Pragmatic Programmer

  • Know when to stop: the programmer can become lost in the project if layers are added and added

"Don't spoil a perfectly good program by over embellishment and over-refinement. Move on, and let your code stand in its own right for a while."

  • Orthogonality decoupling - reduce risk, gain productivity, promotes reuse; combining orthogonal components improves performance
  • Tracer Bullets: used to find the target - gets us from a requirement to some aspect of the final system quickly, visibly, and repeatably.
    • Early concept of the Agile manifesto
  • Temporal Decoupling: design for concurrency; make sure a class is always in a valid state
  • Pub/Sub Blackboard Style: removes the need for so many interfaces
  • No broken windows!
  • Organize Functional Teams, just like modularized code