ABSTRACT

This chapter covers accepting command line arguments, reading a file, and refactoring to improve modularity and error handling. It discusses developing the library's functionality with test-driven development, working with environment variables, and improving our I/O project. Many binary projects have the organizational challenge of distributing responsibility for various tasks to the core function. As a result, the Rust community has established a process to serve as a guideline for breaking a binary program's various concerns when main gets too large. Minigrep will be enhanced with the addition of a case-insensitive search option that the user can enable via an environment variable.