Автор делится реальным опытом возникновения серьёзной ошибки из-за неправильного порядка аргументов при вызове функции, когда все идентификаторы были типом string, а все денежные значения - int.
Он показывает, что использование скалярных типов создаёт ложное чувство безопасности: компилятор проверяет лишь форму данных, а не их смысл, поэтому легко перепутать ID продавца с ID покупателя или валовую сумму с чистой. Даже группировка параметров в структуру не спасает от присвоения неправильных значений полям, если их типы одинаковы.
Решение - создание отдельных типов-обёрток (ShopId, CustomerId, Amount и т.д.), которые делают недопустимые состояния непредставимыми на уровне компиляции.
24.04.2026
Похожее
04.09.2026
Оптимизация DNS-кэша
Ребята из Cloudflare рассказывают, как пять последовательных оптимизаций расклад...
31.08.2026
Профилирование Rust
В статье про hotpath-rs - универсальный профайлер производительности для Rust. ...
27.08.2026
На Rust после Go
Автор, пять лет писавший на Go, сначала скептически отнесся к появлению Rust в е...
25.08.2026
Вкуc zig после Rust
Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и д...