En 1984, Bob Scheifler y Jim Gettys establecieron los principios iniciales del sistema X Window [1]:
- No agregue nueva funcionalidad a menos que un implementador no pueda completar una aplicación real sin ella.
- Es tan importante decidir qué no es un sistema como decidir qué es. No sirva a todas las necesidades del mundo; más bien, haga que el sistema sea extensible para que se puedan satisfacer necesidades adicionales de una manera compatible hacia arriba.
- Lo único peor que generalizar a partir de un ejemplo es generalizar a partir de ningún ejemplo.
- Si un problema no se comprende completamente, probablemente sea mejor no proporcionar ninguna solución.
- Si puede obtener el 90 por ciento del efecto deseado para el 10 por ciento del trabajo, use la solución más simple. (Ver también Peor es mejor [2])
- Aísle la complejidad tanto como sea posible.
- Proporcionar mecanismo en lugar de política. En particular, coloque la política de interfaz de usuario en manos de los clientes.
El primer principio se modificó durante el diseño de X11 para: “No agregue nuevas funciones a menos que conozca alguna aplicación real que lo requiera”.
[1] http://en.wikipedia.org/wiki/X_W…
[2] http://en.wikipedia.org/wiki/Wor…
- ¿Es más gratificante ser ingeniero de software o científico de datos?
- ¿Cuáles son las teorías y técnicas detrás de la integración de diversas tecnologías de software?
- ¿Un 'buen' ingeniero de software volvería a escribir su código para módulos Python obsoletos, o haría que su empleador actualizara dicho módulo?
- ¿Cómo se hacen amigos los ingenieros con los diseñadores de arte?
- Como estadounidense que trabaja en la industria del software, ¿cuál es su opinión honesta sobre los técnicos indios?