Friday, 23 February 2007

Principles of software development

My blog reading (Jeff Atwood, Scott hanselman) the past few weeks has turned up some excellent articles on principles of software development. For ease of reference, I've grouped them together here:
  • The DRY principle (Don't Repeat Yourself). Published originally in The Pragmatic Programmer, an abbreviated version is available in this pdf.
  • Robert Martin's SOLID principles:
  • Principles of package design - an excellent pdf that covers:
    • Principles of package cohesion:
      • Reuse-release Equivalence Principle
      • Common Reuse Principle
      • Common Closure Principle
    • Principles of package couping:
      • Acyclic Dependencies Principle
      • Stable Dependencies Principle
      • Stable Abstractions Principle
The next thing I need to mull over is how best to learn, apply and pass on these principles. Watch this space.

No comments: