fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络程序设计Effective Rust:编写高质量Rust代码的35个有效方法 [英]大卫·德赖斯代尔 Rust 高质量代码 borrow checker

Effective Rust:编写高质量Rust代码的35个有效方法 [英]大卫·德赖斯代尔 Rust 高质量代码 borrow checker

35个精准方法,覆盖类型、trait、依赖管理等核心领域,帮Rust开发者写出安全、地道的高质量代码。

作者:[英]大卫·德赖斯代尔 出版社:机械工业出版社 出版时间:2026年01月 

ISBN: 9787111799108
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €58.99

类别: 计算机/网络 新书热卖榜, 程序设计 SKU:69ba0235ada52bfd37ada7ad 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开包 装: 平装是否套装: 否国际标准书号ISBN: 9787111799108

编辑推荐

想写出安全、地道的高质量Rust代码,却被生命周期、trait用法、工程化规范难住?本书为你而来!O’Reilly经典系列重磅新作,作者提炼35个核心有效方法,从类型系统、trait设计到依赖管理、工具实操,全流程拆解Rust编程精髓。书中聚焦惯用法与内存安全,搭配编译器优化技巧与实战案例,不管你是有基础的Rust学习者,还是寻求进阶的开发者,都能快速夯实核心能力,写出规范、高效的工业级Rust代码!

 

内容简介

本书是Rust编程进阶指南,面向有基础的学习者。第1章讲解类型系统,涵盖基本类型、枚举等及类型转换等技巧;第2章聚焦Traits,介绍标准库Traits及设计原则;第3章解析生命周期、借用检查器等核心概念;第4章探讨依赖项管理,包括语义化版本、可见性等;第5章介绍文档、宏、测试等工具使用;第6章涉及no_std环境、FFI交互等进阶内容。全书通过具体条款提供实用建议,帮助读者写出规范、高效的Rust代码。如果你是一名具备现有编译型语言经验的软件工程师,或者你在将Rust语法的基础理解转化为实际可运行的程序时遇到了困难,那么这本书正是为你量身打造的。本书聚焦于Rust与其他编译型语言之间的概念差异,并提供了程序员可轻松遵循的具体建议。通过学习本书,你将很快写出流畅的Rust代码,而非蹩脚的“C++翻译版”代码。

作者简介

David Drysdale是Google的高级软件工程师,自2019年起便从事Rust相关工作,主要聚焦安全领域。他牵头用Rust重写了Android的硬件加密子系统,还主导了加密库Tink的Rust移植工作。他还涉足C/C++和Go语言开发,参与过Linux内核研发、移动视频会议应用开发等各类项目。

目  录

目录
前言1
第1章 类型5
第1条:使用类型系统表示数据结构5
第2条:使用类型系统表达常见行为13
第3条:优先选择Option和Result转换,而非显式match表达式22
第4条:优先使用惯用的Error类型27
第5条:理解类型转换34
第6条:拥抱newtype模式40
第7条:对复杂类型使用构造器45
第8条:熟悉引用和指针类型51
第9条:考虑使用迭代器转换代替显式循环62
第2章 trait75
第10条:熟悉标准库的trait75
第11条:为RAII模式实现Drop trait86
第12条:理解泛型和trait对象之间的权衡91
第13条:使用默认实现来减少需要实现的trait方法99
第3章 概念101
第14条:理解对象生命周期101
第15条:理解借用检查器118
第16条:避免写unsafe代码136
第17条:对共享状态的并行性保持警惕138
第18条:不要panic151
第19条:避免反射154
第20条:避免过度优化的诱惑160
第4章 依赖项166
第21条:理解语义化版本166
第22条:最小化可见性171
第23条:避免通配符导入175
第24条:重新导出在API中所用的依赖项类型177
第25条:管理依赖图180
第26条:警惕特性蔓延186
第5章 工具191
第27条:为公共接口撰写文档191
第28条:在合适的时候使用宏196
第29条:遵循Clippy的建议210
第30条:不仅仅是单元测试213
第31条:使用生态系统工具221
第32条:搭建持续集成系统223
第6章 超越标准Rust228
第33条:考虑使库代码与no_std兼容228
第34条:控制跨越FFI边界的内容233
第35条:优先使用bindgen而不是手动FFI映射245
后记248

前  言

前言
代码更像是指导原则,而不是实际规则。
—Hector Barbossa
在众多现代编程语言中,Rust与众不同。Rust提供了编译语言的速度、非垃圾回收语言的高效以及函数式语言的类型安全,同时,还提供了解决内存安全问题的独特方案。因此,Rust经常被评为最受欢迎的编程语言( />Rust类型系统的强大和一致性意味着,如果一个Rust程序能够编译通过,那么它可以正常工作的可能性已经相当大了,这种现象之前只存在Haskell等更偏学术性且晦涩难懂的语言中。如果一个Rust程序能够编译通过,那么它也将安全地工作。
然而,这种安全(包括类型安全和内存安全)确实是有代价的。尽管基本文档的质量很高,但Rust还是以入门门槛高而闻名,初学者必须经历与借用检查器“斗智斗勇”、重新设计数据结构以及被生命周期搞糊涂等入门仪式。虽然Rust程序一旦编译通过第一次运行时就很有可能正常工作,但是要想让程序成功编译,实则困难重重,即便Rust编译器提供了极为有用的错误诊断信息,也依然如此。
读者对象
本书试图为那些面临上述棘手问题的程序员提供帮助,即便他们已有C++等现有编译语言的使用经验。因此,与其他Effective系列书籍一样,本书适合作为Rust初学者的第二本读物—在他们已经通过其他途径[例如,The Rust Programming Language(Steve Klabnik和Carol Nichols,No Starch Press)或Programming Rust(Jim Blandy等人,
O’Reilly)]掌握基础知识之后阅读。
然而,Rust的安全性使得本书中的建议与Scott Meyers的Effective C++系列相比,侧重点略有不同。C++语言充满了陷阱,所以Effective C++基于C++软件开发的实际经验,
提供了一系列避免这些陷阱的建议。重要的是,它包含的是指导原则而不是规则,因为指导原则总是有例外—通过详细阐述指导原则形成及使用的理由,读者可以自行决定特定情况下是否需要违反原则。
本书依然保留了提供建议并阐明背后原因这一总体风格。但是,由于Rust几乎没有陷阱,因此这里的建议更多地集中在Rust引入的概念上。许多建议的标题都是“理解……”和“熟悉……”,旨在帮助读者写出流畅、地道的Rust代码。
Rust的安全性还使得本书完全没有出现标题为“永远不要……”的条目。如果某事真的不应该做,那么编译器通常会阻止你这样做。
Rust版本
本书是基于Rust 2018版及稳定工具链编写的。Rust的后向兼容性承诺( />这里的条目没有涵盖Rust的任何异步功能( Async Rust。
书中代码段和错误信息所使用的具体rustc版本是1.70。代码段不太可能需要针对更高版本进行更改,但错误信息可能会因你使用的特定编译器版本而有所不同。本书中收录的错误信息都经过手动编辑,以适应版面的宽度限制,除此之外都是编译器生成的。
本书中有许多对其他静态类型语言的引用和比较,如Java、Go和C++,旨在帮助有这些语言经验的读者定位自己( C++可能是与Rust相似度最高的语言,特别是当C++11的移动语义发挥作用时)。
本书导读
本书共6章:
第1章介绍关于Rust核心类型系统的建议。
第2章介绍关于使用Rust trait的建议。
第3章介绍构成Rust设计核心思想的概念。
第4章介绍关于使用Rust依赖项的建议。
第5章介绍除了Rust编译器之外,改善代码库的工具。
第6章介绍当你需要在Rust标准、安全环境之外工作时的建议。
虽然第3章可能比第1章和第2章更基础,但刻意把它放在第3章,以便让按顺序从头阅读的读者可以先建立一些信心。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。

O’Reilly在线学习平台(O’Reilly Online Learning)
40多年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问 />如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
对于本书中文版的勘误内容,请发送电子邮件至[email protected]。
本书配套网站 />关于书籍、课程、会议和新闻的更多信息,请访问我们的网站 />我们在LinkedIn上的地址: />我们在YouTube上的地址: />致谢
衷心感谢所有帮助我完成本书的朋友们:
技术审校者对本书的所有方面提供了专业和详细的反馈:Pietro Albini、Jess Males、Mike Capp,特别是Carol Nichols。
O’Reilly的编辑团队:Jeff Bleiel、Brian Guerin和Katie Tozer。
Tiziano Santoro,最初我从他那里学到了许多关于Rust的知识。
Danny Elfanbaum,他为本书的AsciiDoc格式处理提供了重要技术支持。
早期网络版的读者,特别是:
Julian Rosse指出了在线文本中数十处拼写和表述错误。
Martin Disch对多个章节提出了改进建议并修正了不准确之处。
Chris Fleetwood、Sergey Kaunov、Clifford Matthews、Remo Senekowitsch、Kirill Zaborsky,以及一位匿名Proton Mail用户,均指出了书中的错误。
我的家人,他们包容了我许多因写作而分心的周末。

抢先评论了 “Effective Rust:编写高质量Rust代码的35个有效方法 [英]大卫·德赖斯代尔 Rust 高质量代码 borrow checker” 取消回复

评论

还没有评论。

相关产品

加入购物车

Python编程快速上手 让繁琐工作自动化(Python3编程从入门到实践 新手学习必备用书)

EUR €36.99
评分 5.00 / 5
阅读更多
缺货

C Primer Plus 第6版 中文版 C语言入门经典教程

EUR €53.99
评分 5.00 / 5
加入购物车

21世纪C语言(影印版)

EUR €37.99
阅读更多
缺货

C++ Primer Plus(第6版)中文版(畅销30年C++必读经典教程全新升级,蔡学镛、孟岩、高博倾力推荐)

EUR €43.99
评分 5.00 / 5

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略