让 Rust 库更优美的九个建议
- 创建简洁明了的例子
- 改进函数参数使其能够接受更多的类型
- 了解你的用户的需求,知道用户到底想要什么
- 使用构建器(builder) 来让其可配置化
- 写好文档让你的设计更有诚意
- 定义 From 来接收常见类型
- 编写API测试
- 定义并返回有意义的错误
- 使用Clippy
ReadMore: https://towardsdatascience.com/nine-rules-for-elegant-rust-library-apis-9b986a465247
Rust项目的自动化维护和依赖安全
Rust的发展速度很快,它的生态系统也是如此,因此有必要将项目的维护工作自动化。为此,社区已经建立了一些工具,它们将为你节省大量时间,让你的项目保持最新状态。
ReadMore: https://kerkour.com/rust-projects-maintenance-and-supply-chain-security
mold 一个比 llvm linker 快数倍的链接器
mold是现有Unix链接器的一个更快的直接替代者。LLVM lld是第二快的开源链接器,mold 比其链接速度快数倍。
下面是GNU gold、LLVM lld和mold在模拟的8核16线程机器上连接主要大型程序的最终调试信息可执行文件的性能比较。
在 rust 中使用可以添加下面的 RUSTFLAG 来启用,修改 ~/.cargo/config
[target.x86_64-unknown-linux-gnu]linker = "clang"rustflags = ["-C", "link-arg=-fuse-ld=/path-to-mold"]
ReadMore: https://github.com/rui314/mold
From 日报小组 Koalr
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区