1.3. Архитектурные концепции

Наша идеология может быть описана в следующих ключевых положениях

  • Не добавлять новой функциональности, кроме случаев, когда нельзя выполнить конкретную работу без нее.

  • Решить, чего в системе не будет, так же важно, как и определение того, чего в системе не будет. Не пытайтесь включить в систему все; лучше сделать систему расширяемой так, что дополнительные потребности могут быть реализованы в режиме совместимости.

  • Единственное, что может быть лучше обобщения на основе одного примера, это обобщение вообще без примеров.

  • Если проблема до конца не понята, наверное, лучше вовсе не давать ее решения.

  • Если вы можете сделать 90 процентов результата ценой 10 процентов работы, найдите более простое решение.

  • Старайтесь отделять сложные вещи.

  • Дайте механизм, а не правила. В частности, оставьте соглашения по пользовательскому интерфейсу клиенту.

Из Scheifler & Gettys: "X Window System"