|
(Source: Richard Gabriel) Good characteristics:
1) Simplicity-the design must be simple, both in implementation and
interface. It is more important for the interface to be simple than the
implementation.
2) Correctness-the design must be correct in all observable aspects.
Incorrectness is simply not allowed.
3) 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.
4) 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.
www.jwz.org/doc/worse-is-better.html
|