课程 在 Rust 技能树

构建你的第一个 Rust CLI

在 Rust 基础之上继续前进:添加真实的 crate 依赖,运用可重复的质量检查流程,并通过三个引导实验和三个挑战完成一个经过测试、使用文件存储的命令行项目。

Rust

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

构建你的第一个 Rust CLI 是 Rust 初学者入门的项目型进阶课程。你将在 6 个动手活动中,从小型 Rust 程序逐步完成一个带外部依赖、可重复质量检查、文件状态、测试和发布版可执行文件的完整命令行应用。

课程将 3 个引导实验与 3 个针对性挑战一一配对。较长的源文件、模块树、测试框架和清单文件会作为起始项目提供。你将使用 nano 在当前教学边界内进行少量但有意义的修改,而不需要在终端中复制大段程序。

你将学到什么

  • 使用 Cargo 添加 crate,并说明 Cargo.toml 与 Cargo.lock 的不同作用
  • 启用 crate feature,并使用 clap derive 宏创建带类型的参数、选项和子命令
  • 阅读自动生成的帮助信息,并使用带类型的命令行验证
  • 将 rustfmt、严格 Clippy、测试和 rustdoc 组合为可重复的交付质量流程
  • 阅读小型多模块 Rust 项目,而不是把所有职责都放入 main.rs
  • 通过清晰的文件边界持久化应用数据,并传播带上下文的错误
  • 使用锁定的依赖图构建、测试并运行优化后的发布版可执行文件
  • 在保持原有行为的同时,跨解析器、库、存储和输出边界扩展现有 CLI

本课程适合谁

本课程适合已经完成 Rust 初学者入门,或具备同等知识的学习者。你应当熟悉所有权、借用、结构体、枚举、集合、迭代器、Result、文件、模块、测试、泛型、trait 和基本命令行进程行为。

前置要求: 你应当能够阅读 Cargo 项目并进行少量修改。不要求具备选择外部 crate、使用 clap、运行 Clippy 或 rustdoc、组织完整 CLI 项目的经验;课程会在需要这些知识之前先进行讲解。

学习环境: 每个活动都在全新的 LabEx Linux 终端中运行,并预先准备 Rust 和所需的起始项目。默认编辑器是 nano。活动之间不共享文件系统状态,因此每个挑战都包含可以独立完成的项目。

常见问题

我需要从空白文件开始编写完整应用吗?

不需要。项目结构、较长的实现、参数解析样板、测试和测试数据都会由 setup 预先准备。引导步骤每次只要求你完成一个较小的存储、命令或领域边界。

为什么课程使用 clap?

标准库足以完成前置课程讲解的简单参数收集。clap 增加了带类型的选项、子命令、自动生成的帮助和一致的错误信息,是实际 CLI 项目的合适首个依赖。

这里的“可交付”是什么意思?

它意味着其他开发者可以重现依赖图、阅读公共接口、运行测试,并确认格式一致且 lint 检查干净。本课程把这些要求转换为明确的 Cargo 命令,而不是非正式的目视检查。

我会构建什么?

你将完成一个带 add、list 和 done 子命令的文件型任务跟踪器,对其进行测试并构建发布版可执行文件,然后在一个全新版本中加入未完成任务筛选和摘要输出。

教师

labby
Labby
Labby is the LabEx teacher.

为您推荐

no data