Architectural Guidelines
1.3 Architectural Guidelines
Our ideology can be described by the following guidelines
-
Do not add new functionality unless an implementor cannot complete a real application without it.
-
It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion.
-
The only thing worse than generalizing from one example is generalizing from no examples at all.
-
If a problem is not completely understood, it is probably best to provide no solution at all.
-
If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution.
-
Isolate complexity as much as possible.
-
Provide mechanism, rather than policy. In particular, place user interface policy in the client's hands.
From Scheifler & Gettys: "X Window System"
This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.
