04|项目初始化四大件:命令行参数、配置、日志、测试用例
许文强
本课程为精品小课,不标配音频
你好,我是文强。
上节课我们完成了项目的初始化,这节课我们来完成如何处理命令行参数、如何管理配置、如何记录日志、如何运行测试用例四个任务。有了这四个基础部分,项目的基础模块就基本成型了。
处理命令行参数
在我看来,能不能把 crates.io 用好,决定了你能不能学好 Rust 这个语言。接下来我们就以使用 clap 库来处理命令行参数这个 case 来讲解一下如何用好 crates.io。
比如我们需要使用库 clap,下图是 clap 库的首页。一般在首页都会有关于这个库详细的使用说明,比如使用方法、使用 demo。所以你得重视这个页面,在这个页面可以得到很多信息。另外需要关注右下角两个链接,一个是库的 Rust 文档地址,格式是统一的;另一个一般是源码所在地址,一般是 GitHub 仓库的地址。
这里有个技巧是:如果在文档中找不到你想要的信息,可以尝试去 GitHub 仓库找,GitHub 仓库一般有更详细的 example 信息。
如下图所示,库的文档首页是统一格式的。它会展示库中 Modules、Macros、Structs、Enums、Traits、Type Aliases 六部分信息,分别会列举库中的 mod、宏、结构体、枚举、Trait、Type Alias 等相关信息。你可以根据需要查看对应部分的内容。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. 命令行参数推荐使用 clap 库,通过定义结构体 ArgsParams 和解析参数来处理命令行参数。 2. 在 Rust 中,建议使用 toml 格式的配置文件,并通过 serde 库来解析配置文件内容。 3. 日志模块的核心需求包括支持多个不同的日志级别、多种日志滚动方式、自定义日志格式和根据不同的类型将日志打印到不同的文件。 4. 在 Rust 中,建议使用 log4rs 库来记录日志,通过编写 log4rs.yaml 文件、初始化日志模块和记录日志来实现日志记录功能。 5. 初始化日志配置需要复杂的步骤,但通过优化使用体验,可以让用户大部分情况下不需要理解 log4rs 的语法,且修改日志存放目录时不需要修改 log4rs.yaml 中的日志路径。 6. 测试用例的编写一般依赖 assert_eq 来判断数据是否符合预期,可以通过 cargo test --package 模块名 来测试模块中的测试用例。 7. 为了测试服务接口的进出参是否正常,可以通过封装 shell 脚本来启动服务并执行测试用例。 8. 命令行参数推荐使用 clap 库,配置文件建议用 toml 格式文件,日志模块通过 log4rs 来初始化即可,测试用例建议和代码写在同一个文件。 9. 配置文件建议用 toml 格式文件,通过 toml 库配合 OnceLock 来实现配置文件的单例加载。 10. 日志模块通过 log4rs 来初始化,测试用例建议和代码写在同一个文件,如果需要依赖外部系统完成测试用例,建议在 Cargo Test 上配合 shell 来完成对应的工作。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 实战 · 手写下一代云原生消息队列》
《Rust 实战 · 手写下一代云原生消息队列》
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论