Автор делится реальным опытом возникновения серьёзной ошибки из-за неправильного порядка аргументов при вызове функции, когда все идентификаторы были типом string, а все денежные значения - int.
Он показывает, что использование скалярных типов создаёт ложное чувство безопасности: компилятор проверяет лишь форму данных, а не их смысл, поэтому легко перепутать ID продавца с ID покупателя или валовую сумму с чистой. Даже группировка параметров в структуру не спасает от присвоения неправильных значений полям, если их типы одинаковы.
Решение - создание отдельных типов-обёрток (ShopId, CustomerId, Amount и т.д.), которые делают недопустимые состояния непредставимыми на уровне компиляции.
24.04.2026
Похожее
20.07.2026
А теперь переписываем на Zig
Окей, Bun переписывают с Zig на Rust. Но вы что думаете, только на Rust всё пере...
14.07.2026
Свой 3d редактор
Это первый эпизод серии туториалов по созданию простого 3D-редактора сцен на дви...
13.07.2026
Сокращатель ссылок на rust
Это вводная статья серии по бэкенд-разработке на Rust и Axum. Автор на приме...
10.07.2026
Gossamer
Новый пятничный язык программирования, вдохновленный Rust но с горутинами на M:N...