Adversarial Design: незаметная защита от неверного использования API
18.08.2025Опубликована статья о том, как проектировать API так, чтобы их невозможно было использовать неправильно: не сообщениями об ошибках, а самим устройством типов.
О чём материал
Основная мысль: ошибочный вызов API дешевле всего ловить не проверкой во время выполнения, а тем, чтобы он не компилировался. Чем сложнее вызвать функцию неправильно — тем дешевле обходится ошибка: она обнаруживается при компиляции, а не в продакшене, и не требует проверок в горячем пути.
Это практический совет именно для Rust, где система типов достаточно богата, чтобы большую часть ошибок выражения перенести из рантайма в время компиляции.
Оригинал
Constructor Best Practices in Rust
Упоминаний: 1 · Просмотров: 2