MIT approach to design and implementation: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
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 22: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)