Простыми словами
Удобная оболочка скрывает детали только до тех пор, пока не возникает необычная ситуация. Водитель обычно не думает о двигателе, но при поломке устройство машины снова имеет значение. Поэтому абстракции полезны, но специалисты должны знать, где их упрощения перестают работать.
Механизм действия
Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.
Пример в работе
В задаче «API» сразу применить привычное решение и назвать происходящее «Закон протекающих абстракций», не проверив, действительно ли работает этот механизм. Так можно улучшить один симптом и пропустить основную причину.
Использовать «Закон протекающих абстракций» как гипотезу: сначала определить границы ситуации и исходное состояние, затем менять только то, что связано с проверяемым механизмом, и смотреть на результат.
Ограничения
Абстракции протекают не одинаково и не постоянно; цель не отказаться от абстракций, а понимать их границы и сохранять возможность диагностики нижнего уровня.
Источник
Joel Spolsky, “The Law of Leaky Abstractions”, 2002.