From f26089c0e82d7157816c0f2e41718a8638722f91 Mon Sep 17 00:00:00 2001 From: lgphone Date: Wed, 8 Jan 2025 16:33:16 +0800 Subject: [PATCH] Update refactoring.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3.2 小节错字错词更正,调整语句通顺性。 --- src/basic-practice/refactoring.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/basic-practice/refactoring.md b/src/basic-practice/refactoring.md index 5e70b5056..67f441f6c 100644 --- a/src/basic-practice/refactoring.md +++ b/src/basic-practice/refactoring.md @@ -6,7 +6,7 @@ - **单一且庞大的函数**。对于 `minigrep` 程序而言, `main` 函数当前执行两个任务:解析命令行参数和读取文件。但随着代码的增加,`main` 函数承载的功能也将快速增加。从软件工程角度来看,一个函数具有的功能越多,越是难以阅读和维护。因此最好的办法是将大的函数拆分成更小的功能单元。 - **配置变量散乱在各处**。还有一点要考虑的是,当前 `main` 函数中的变量都是独立存在的,这些变量很可能被整个程序所访问,在这个背景下,独立的变量越多,越是难以维护,因此我们还可以将这些用于配置的变量整合到一个结构体中。 - **细化错误提示**。 目前的实现中,我们使用 `expect` 方法来输出文件读取失败时的错误信息,这个没问题,但是无论任何情况下,都只输出 `Should have been able to read the file` 这条错误提示信息,显然是有问题的,毕竟文件不存在、无权限等等都是可能的错误,一条大一统的消息无法给予用户更多的提示。 -- **使用错误而不是异常**。 假如用户不给任何命令行参数,那我们的程序显然会无情崩溃,原因很简单:`index out of bounds`,一个数组访问越界的 `panic`,但问题来了,用户能看懂吗?甚至于未来接收的维护者能看懂吗?因此需要增加合适的错误处理代码,来给予使用者给详细友善的提示。还有就是需要在一个统一的位置来处理所有错误,利人利己! +- **使用错误而不是异常**。 假如用户不给任何命令行参数,那我们的程序显然会无情崩溃,原因很简单:`index out of bounds`,一个数组访问越界的 `panic`,但问题来了,用户能看懂吗?甚至于未来接手的维护者能看懂吗?因此需要增加合适的错误处理代码,来给予使用者详细、友善的提示。还有就是需要在一个统一的位置来处理所有错误,利人利己! ## 分离 main 函数 @@ -426,4 +426,4 @@ fn main() { 呼,一顿书写猛如虎,回头一看。。。这么长的篇幅就写了这么点简单的代码??只能说,我也希望像很多国内的大学教材一样,只要列出定理和解题方法,然后留下足够的习题,就万事大吉了,但是咱们不行。 -接下来,到了最喜(令)闻(人)乐(讨)见(厌)的环节:写测试代码,一起来开心吧。 \ No newline at end of file +接下来,到了最喜(令)闻(人)乐(讨)见(厌)的环节:写测试代码,一起来开心吧。