MIT approach to design and implementation

From XiphWiki
Revision as of 12:12, 30 May 2007 by Saoshyant (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Always keep these in mind when developing software.

  • Simplicity: the design must be simple, both in implementation and interface. It is more important for the interface to be simple than that the implementation be simple.
  • Correctness: the design must be correct in all observable aspects. Incorrectness is simply not allowed.
  • Consistency: the design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.
  • Completeness: the design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.

(extracted from the UNIX-HATERS Handbook)

See also