SYSTEM ATLASЗагрузка материала

Закон Хайрама

Hyrum’s Law

Любое наблюдаемое поведение API со временем становится зависимостью.

Простыми словами

Когда системой пользуется много людей, почти любое наблюдаемое поведение кто-нибудь начинает считать гарантией и строить на нём зависимость. Даже случайный порядок полей может стать для клиента важным. Поэтому публичные интерфейсы нужно менять осторожно и явно отделять обещанное поведение от случайного.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

В задаче «API» сразу применить привычное решение и назвать происходящее «Закон Хайрама», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.

Системный подход

Использовать «Закон Хайрама» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.

Ограничения

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

Источник

Hyrum Wright, “Hyrum’s Law”, 2017.

Первоисточник