跳转至

IO示例项目

一、概述

本节编写一个命令行程序的项目实例,项目源代码在文档目录下的src/minigrep目录。开发顺序如下

  • 接收命令行参数
  • 读取文件
  • 重构:改进模块和错误处理
  • 使用TDD(测试驱动开发)开发库功能
  • 使用环境变量
  • 将错误消息写入标准错误而不是标准输出

二、测试驱动开发

TDD(Test-Driven Development),即测试驱动开发,一般遵循以下开发步骤

  • 编写一个会失败的测试,运行该测试,确保它是按照预期的原因导致失败
  • 编写或修改足够的代码,让测试通过
  • 重构刚刚添加或修改的代码,在重构期间,确保测试始终会通过
  • 返回最开始的步骤,继续下一轮(下一个功能)的开发

测试驱动开发,只是众多软件开发方式中的一种,但他对代码的设计工作起到指导和帮助的作用。先编写测试,然后再编写能够通过测试的代码,也有助于保证较高的测试覆盖率。

三、标准输出 VS 标准错误

大多数终端提供两种输出,如下:

  • 标准输出:stdout,rust可以通过println!进行终端输出,一般的信息应该输出到标准输出中

  • 标准错误:stderr,rust可以通过eprintln!进行终端输出,错误的信息应该输出到标准错误里

这种区分有好处,如:我们可以是正常的输出重定向到一个输出文件里,而错误信息输出到屏幕上,达到过滤输出内容的效果,反之亦然。