Effective Rust:編寫高質(zhì)量Rust代碼的35個(gè)有效方法
鄺勁強(qiáng) 譯
出版時(shí)間:2026年01月
頁(yè)數(shù):248
“這本書出色地匯集了超越基礎(chǔ)知識(shí)的實(shí)戰(zhàn)型Rust知識(shí)。書中的建議將助你成為自信且全面的Rust開發(fā)者?!?br />
——Carol Nichols
The Rust Programming Language的合著者
“這本書深入剖析了我常向他人分享的各類項(xiàng)目?jī)?yōu)化建議,是助力你提升Rust編程能力的優(yōu)質(zhì)資源?!?br />
——Pietro Albini
Rust核心團(tuán)隊(duì)前成員
Rust語(yǔ)言因其內(nèi)存安全、類型安全以及線程安全等特性而日益流行。然而,正是這些特性,讓學(xué)習(xí)Rust頗具挑戰(zhàn),即便是經(jīng)驗(yàn)豐富的程序員也不例外。這本實(shí)用指南將助力你順利過(guò)渡到編寫地道的Rust代碼,同時(shí)充分運(yùn)用Rust的類型系統(tǒng)、安全保障以及蓬勃發(fā)展的生態(tài)系統(tǒng)。
如果你是一名具備現(xiàn)有編譯型語(yǔ)言經(jīng)驗(yàn)的軟件工程師,或者你在將Rust語(yǔ)法的基礎(chǔ)理解轉(zhuǎn)化為實(shí)際可運(yùn)行的程序時(shí)遇到了困難,那么這本書正是為你量身打造的。本書聚焦Rust與其他編譯型語(yǔ)言之間的概念差異,并提供了程序員可輕松遵循的具體建議。通過(guò)學(xué)習(xí)本書,你將很快寫出流暢的Rust代碼,而非蹩腳的“C++翻譯版”代碼。
本書將幫助你:
● 理解Rust類型系統(tǒng)的結(jié)構(gòu)。
● 學(xué)習(xí)Rust中處理錯(cuò)誤、迭代等場(chǎng)景的地道用法。
● 探索如何運(yùn)用Rust的crate生態(tài)系統(tǒng)。
● 運(yùn)用Rust的類型系統(tǒng)來(lái)表達(dá)設(shè)計(jì)理念。
● 攻克borrow checker(借用檢查器)的限制。
● 構(gòu)建一個(gè)充分利用Rust工具生態(tài)系統(tǒng)的穩(wěn)健項(xiàng)目。
- 前言
- 第1章 類型
- 第1條:使用類型系統(tǒng)表示數(shù)據(jù)結(jié)構(gòu)
- 第2條:使用類型系統(tǒng)表達(dá)常見行為
- 第3條:優(yōu)先選擇Option和Result轉(zhuǎn)換,而非顯式match表達(dá)式
- 第4條:優(yōu)先使用慣用的Error類型
- 第5條:理解類型轉(zhuǎn)換
- 第6條:擁抱newtype模式
- 第7條:對(duì)復(fù)雜類型使用構(gòu)造器
- 第8條:熟悉引用和指針類型
- 第9條:考慮使用迭代器轉(zhuǎn)換代替顯式循環(huán)
- 第2章 trait
- 第10條:熟悉標(biāo)準(zhǔn)庫(kù)的trait
- 第11條:為RAII模式實(shí)現(xiàn)Drop trait
- 第12條:理解泛型和trait對(duì)象之間的權(quán)衡
- 第13條:使用默認(rèn)實(shí)現(xiàn)來(lái)減少需要實(shí)現(xiàn)的trait方法
- 第3章 概念
- 第14條:理解對(duì)象生命周期
- 第15條:理解借用檢查器
- 第16條:避免寫unsafe代碼
- 第17條:對(duì)共享狀態(tài)的并行性保持警惕
- 第18條:不要panic
- 第19條:避免反射
- 第20條:避免過(guò)度優(yōu)化的誘惑
- 第4章 依賴項(xiàng)
- 第21條:理解語(yǔ)義化版本
- 第22條:最小化可見性
- 第23條:避免通配符導(dǎo)入
- 第24條:重新導(dǎo)出在API中所用的依賴項(xiàng)類型
- 第25條:管理依賴圖
- 第26條:警惕特性蔓延
- 第5章 工具
- 第27條:為公共接口撰寫文檔
- 第28條:在合適的時(shí)候使用宏
- 第29條:遵循Clippy的建議
- 第30條:不僅僅是單元測(cè)試
- 第31條:使用生態(tài)系統(tǒng)工具
- 第32條:搭建持續(xù)集成系統(tǒng)
- 第6章 超越標(biāo)準(zhǔn)Rust
- 第33條:考慮使庫(kù)代碼與no_std兼容
- 第34條:控制跨越FFI邊界的內(nèi)容
- 第35條:優(yōu)先使用bindgen而不是手動(dòng)FFI映射
- 后記
書名:Effective Rust:編寫高質(zhì)量Rust代碼的35個(gè)有效方法
譯者:鄺勁強(qiáng) 譯
國(guó)內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2026年01月
頁(yè)數(shù):248
書號(hào):978-7-111-79910-8
原版書書名:Effective Rust: 35 Specific Ways to Improve Your Rust Code
原版書出版商:O'Reilly Media
David Drysdale
David Drysdale是Google的高級(jí)軟件工程師,自2019年起便從事Rust相關(guān)工作,主要聚焦安全領(lǐng)域。他牽頭用Rust重寫了Android的硬件加密子系統(tǒng),還主導(dǎo)了加密庫(kù)Tink的Rust移植工作。他還涉足C/C++和Go語(yǔ)言開發(fā),參與過(guò)Linux內(nèi)核研發(fā)、移動(dòng)視頻會(huì)議應(yīng)用開發(fā)等各類項(xiàng)目。
本書封面上的動(dòng)物是斑點(diǎn)游泳蟹(學(xué)名:Arenaeus cribrarius)。這種蟹以夜行和獨(dú)居行為聞名,但在受到威脅時(shí),它可能展現(xiàn)出攻擊性。這種蟹分布在大西洋沿岸的多個(gè)地方,從美國(guó)的馬薩諸塞州到阿根廷,斑點(diǎn)游泳蟹的堅(jiān)硬上殼,可以是淺棕色、淺紅褐色或橄欖色,上面還帶有白色或棕褐色的斑點(diǎn)。蟹殼的兩側(cè)各有九個(gè)側(cè)齒,同時(shí),蟹眼窩之間還有六個(gè)其他的齒。這種蟹的寬度大約有4.5~6英寸(11.43~15.24cm)。它的寬度是長(zhǎng)度的兩倍。
斑點(diǎn)游泳蟹的顏色讓它能夠在周圍環(huán)境中偽裝,并等待獵物,主要捕食碎屑。此外,它也會(huì)吃魚、軟體動(dòng)物和其他甲殼類動(dòng)物。
斑點(diǎn)游泳蟹的保護(hù)狀況尚未評(píng)估,但由于該物種在巴西被商業(yè)捕撈,因此可能會(huì)影響其種群數(shù)量。