重构:改善既有代码的设计 学习笔记
重构是在不改变软件可观测行为的前提下,调整代码结构,提高软件的可理解性,降低变更成本。重构除了能够帮助我们更好的进行开发之外,没有任何意义。对于每个稍微大一点的工程项目或者有追求的程序员,都应该尽可能地去重构每一段代码。
前言
指针是指向一个变量在内存中的地址,在 Rust 中最常见的指针就是引用
&
了,没有其他开销。
智能指针:引用计数智能指针。该智能指针允许你同时拥有同一个数据的多个所有权,它会跟踪每一个所有者并进行计数,当所有的所有者都归还后,该智能指针及指向的数据将自动被清理释放。
本章内容如下:
- 通过 release profle 来自定义构建
- 在 https://crates.io/ 上发布库
- 通过 workspaces 组织大工程
- 从 https://crates.io/ 来安装库
- 使用自定义命令扩展 cargo
闭包(closures)是可以保存在一个变量中或作为参数传递给其他函数的匿名函数,即可以捕获其所在环境的匿名函数。 可以在一个地方创建闭包,然后在不同的上下文中执行闭包运算。不同于函数,闭包允许捕获调用者作用域中的值。我们将展示闭包的这些功能如何复用代码和自定义行为。
函数式编程的特点有:将函数作为参数或者作为其他函数的返回值,以及将函数赋值给一个变量,这些都是函数式编程的常见特点
本章将介绍 Rust 在实际开发中的使用,并用官方文档上的项目(一个简单版本的 grep 命令)展开讲解,最后将利用之前所学,自己实现一个代码统计的 Rust 项目。