Принцип наименьшего удивления
(Principle of Least Astonishment)

Это золотое правило проектирования интерфейсов, API и программных систем. Его суть проста: компонент системы должен вести себя именно так, как ожидает пользователь, исходя из своего опыта.

POLA
|
Время чтения: 5 мин

Предсказуемость

Будьте «скучными». Программисты любят оригинальность, но пользователи ценят код, который делает ровно то, что заявлено.

Стандарты

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

Приоритет пользователя

Если разработчику удобно вернуть null, а пользователь ждет ошибку — выбирайте то, что ждет пользователь.

Примеры нарушения принципа (Astonishments)

Как соблюдать POLA?

1

Коридорные тесты

Покажите решение коллеге. Любой вопрос «А почему так?» — признак удивления.

2

Имена имеют значение

Имя функции должно описывать результат, а не внутренний процесс.

3

Соглашения (Convention)

Следуйте стандартам вашего языка или фреймворка без исключений.

4

Документируйте странности

Если «удивление» неизбежно, выделите это в документации максимально ярко.

Резюме

«Хороший инженер — это тот, чьи решения кажутся очевидными. Если ваша система не вызывает эмоций, значит, вы профессионал.»