Effective Rust: 35 Specific Ways to Improve Your Rust Code
Книга "Effective Rust" представляет собой практическое руководство по написанию качественного, идиоматичного и эффективного кода на языке Rust. Автор, Дэвид Драйсдейл, предлагает 35 конкретных рекомендаций, сгруппированных в шесть тематических разделов, которые охватывают ключевые аспекты программирования на Rust.
В первой части книги рассматривается система типов Rust: как использовать её для выражения структур данных и общего поведения, работа с Option и Result, преобразования типов, паттерн "newtype" и построители для сложных типов. Особое внимание уделяется идиоматичным подходам и отказу от явных циклов в пользу трансформаций итераторов.
Вторая часть посвящена трейтам — фундаментальной концепции Rust. Читатель узнает о стандартных трейтах, реализации Drop для паттерна RAII, выборе между дженериками и трейт-объектами, а также использовании реализаций по умолчанию для минимизации необходимых методов трейта.
Третья часть раскрывает основные концепции языка: времена жизни, проверку заимствований, безопасность кода, параллелизм с общим состоянием, обработку паник, отражение и оптимизацию. Эти главы помогают глубже понять философию Rust и избежать распространённых ошибок.
Четвёртая часть фокусируется на управлении зависимостями: семантическом версионировании, минимизации видимости, избегании импортов с подстановочными знаками, реэкспорте зависимостей и управлении графом зависимостей. Это особенно важно для разработчиков библиотек.
Пятая часть охватывает инструментарий: документирование публичных интерфейсов, осторожное использование макросов, работу с Clippy, написание различных типов тестов и настройку системы непрерывной интеграции.
Шестая часть выходит за рамки стандартного Rust, рассматривая совместимость с no_std для встраиваемых систем, управление границами FFI и использование bindgen для автоматического создания привязок к коду на C. Книга предназначена для разработчиков, уже знакомых с основами Rust и стремящихся повысить качество своего кода, следуя лучшим практикам и идиомам языка.









