IO示例项目¶
一、概述¶
本节编写一个命令行程序的项目实例,项目源代码在文档目录下的src/minigrep
目录。开发顺序如下
- 接收命令行参数
- 读取文件
- 重构:改进模块和错误处理
- 使用TDD(测试驱动开发)开发库功能
- 使用环境变量
- 将错误消息写入标准错误而不是标准输出
二、测试驱动开发¶
TDD(Test-Driven Development),即测试驱动开发,一般遵循以下开发步骤
- 编写一个会失败的测试,运行该测试,确保它是按照预期的原因导致失败
- 编写或修改足够的代码,让测试通过
- 重构刚刚添加或修改的代码,在重构期间,确保测试始终会通过
- 返回最开始的步骤,继续下一轮(下一个功能)的开发
测试驱动开发,只是众多软件开发方式中的一种,但他对代码的设计工作起到指导和帮助的作用。先编写测试,然后再编写能够通过测试的代码,也有助于保证较高的测试覆盖率。
三、标准输出 VS 标准错误¶
大多数终端提供两种输出,如下:
-
标准输出:stdout,rust可以通过
println!
进行终端输出,一般的信息应该输出到标准输出中 -
标准错误:stderr,rust可以通过
eprintln!
进行终端输出,错误的信息应该输出到标准错误里
这种区分有好处,如:我们可以是正常的输出重定向到一个输出文件里,而错误信息输出到屏幕上,达到过滤输出内容的效果,反之亦然。