Автор делится реальным опытом возникновения серьёзной ошибки из-за неправильного порядка аргументов при вызове функции, когда все идентификаторы были типом string, а все денежные значения - int.
Он показывает, что использование скалярных типов создаёт ложное чувство безопасности: компилятор проверяет лишь форму данных, а не их смысл, поэтому легко перепутать ID продавца с ID покупателя или валовую сумму с чистой. Даже группировка параметров в структуру не спасает от присвоения неправильных значений полям, если их типы одинаковы.
Решение - создание отдельных типов-обёрток (ShopId, CustomerId, Amount и т.д.), которые делают недопустимые состояния непредставимыми на уровне компиляции.
24.04.2026
Похожее
04.06.2026
58 720 256 ключей
Статья о крупном инциденте в рабочем процессе LinkedIn, когда их база данных, на...
03.06.2026
Rust на Kindle
Автор джейлбрейкнул Kindle Paperwhite 7-го поколения и научился кросс-компилиров...
02.06.2026
Визуальный туториал по bevy
Визуальный обзор Bevy — игрового движка на Rust с data-driven архитектурой. В...
01.06.2026
Руководство по миграции с Go на Rust
Подробное руководство по миграции с Go на Rust для бэкенд-сервисов. Автор об...