Difference between revisions of "MIT approach to design and implementation"

From XiphWiki
Jump to: navigation, search
 
Line 11: Line 11:
 
*[[CodingGuidelines|Xiph's Coding Guidelines]]
 
*[[CodingGuidelines|Xiph's Coding Guidelines]]
 
*[[How to do a release]]
 
*[[How to do a release]]
 +
 +
[[Category:Developers stuff]]

Latest revision as of 23:00, 6 February 2008

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