From ee45d8f9e5629ac97aea8c09da70737ff7eba564 Mon Sep 17 00:00:00 2001 From: marsonshine Date: Fri, 25 Oct 2024 17:33:40 +0800 Subject: [PATCH] doc:functional progmatics,test,guid --- FunctionalDesign/04-Functional Pragmatics.md | 482 +++++++++++++++++++ FunctionalDesign/asserts/14.1.png | Bin 0 -> 76878 bytes 2 files changed, 482 insertions(+) create mode 100644 FunctionalDesign/04-Functional Pragmatics.md create mode 100644 FunctionalDesign/asserts/14.1.png diff --git a/FunctionalDesign/04-Functional Pragmatics.md b/FunctionalDesign/04-Functional Pragmatics.md new file mode 100644 index 0000000..16a47ea --- /dev/null +++ b/FunctionalDesign/04-Functional Pragmatics.md @@ -0,0 +1,482 @@ +# 测试 + +在本书中,你已经看到我编写的许多单元测试。在几乎每个案例中,我都遵循TDD(测试驱动开发)[^1]原则,在一个紧密的循环中编写测试和代码,通常测试会比代码快几秒钟。 + +大多数情况下,这些测试是使用名为 speclj[^2](发音为“speckle”)的框架编写的,该框架由 Micah Martin 等人编写。它与 Ruby 中流行的 RSpec 框架非常相似。 + +我已经实践 TDD 超过20年了,并且在 Java、C#、C、C++、Ruby、Python、Lua、Clojure 以及其他各种语言中使用过它。在这些年里,我学到的一点是,语言对这门纪律并不重要。无论使用何种语言,这种纪律始终是一样的。 + +Clojure 是一门函数式编程语言这一事实,并不会改变我的测试策略,也不会影响我使用 TDD 的方式。我编写 Clojure 程序时,仍然像编写 Java 程序那样先写测试。编程范式并不重要,这种开发纪律是通用的。 + +## 什么是 REPL? + +许多函数式编程的程序员认为他们不需要 TDD,因为他们在 REPL(交互式编程环境)中测试所有东西。我也经常在 REPL 中做很多实验;但大多数情况下,我会将我在 REPL 中学到的内容编码到测试中。测试,就像钻石一样,是永恒的,而 REPL 中的实验却不会在第二天早晨保留下来。 + +## 什么是模拟(Mocks)? + +模拟是 TDD 实践者用来将测试与系统大部分隔离开的一种技术。实际上,他们创建了一些对象,称为模拟对象(mocks)[^3],这些对象代表了那些大部分的系统,并使用 LSP(里氏替换原则)将这些模拟对象代替系统的真实部分。 + +由于 LSP 被视为面向对象(OO)原则的一部分,而面向对象语言中的模拟对象通常基于多态接口,这就形成了一种都市传说,认为函数式语言不支持模拟对象。 + +但正如我们所看到的,LSP 在函数式语言中与在面向对象语言中一样有效,而且多态接口通常非常容易创建。因此,编写各种形式的模拟对象的能力在函数式语言中并不会受到阻碍。 + +例如,下面是我在一个名为 `more-speech`[^4] 应用中的测试,该测试使用了几个模拟对象: + +```clojure +(it "adds an unrooted article id to a tab" + (let [message-id 1 + messages {message-id {:tags []}} + event-context (atom {:text-event-map messages})] + (reset! ui-context {:event-context event-context}) + (with-redefs [swing-util/add-id-to-tab (stub :add-id-to-tab) + swing-util/relaunch (stub :relaunch)] + (add-article-to-tab 1 "tab" nil) + (should-have-invoked :relaunch) + (should-have-invoked :add-id-to-tab + {:with ["tab" :selected 1]})))) +``` + +别太在意这个测试具体做了什么。只需看一下 `with-redefs` 语句。这个测试模拟了 `swing-util/add-id-to-tab` 和 `swing-util/relaunch` 函数,使它们使用命名的存根(stubs)。这些存根是完美的空操作(no-ops),它们可以接受任意数量的参数,并且不返回任何内容[^5]。但它们会记录发生在它们身上的操作[^6]。因此,在底部我们看到,`:relaunch` 存根应该被调用,`:add-id-to-tab` 存根应该被传入三个参数:`"tab"`、`:selected` 和 `1`。 + +> **`with-redefs`**: +> +> - `with-redefs` 是一个 Clojure 的宏,它允许你**临时重定义**全局绑定或函数。这个宏会在当前代码块内(作用域中)修改某些符号的定义,**一旦执行完毕,这些修改会自动恢复**。 +> - 它通常用于测试环境,特别是在不想影响全局状态的情况下,临时重写某些函数的实现。 +> +> 在这个例子中: +> +> - `stub :add-id-to-tab` 模拟了 `add-id-to-tab` 函数,使其不会执行原始逻辑。 +> - `stub :relaunch` 模拟了 `relaunch` 函数,同样不会执行实际的重新启动操作。 + +## 基于性质的测试 + +函数式编程的开发者中,几乎无法不听到有关 QuickCheck 和基于性质的测试(Property-Based Testing)的讨论。不幸的是,这个话题通常被当作 TDD(测试驱动开发)的反例来提起。我不会去支持或反驳这个论点。相反,我想向你展示基于性质的测试在 TDD 中是多么强大。 + +首先,什么是基于性质的测试?基于性质的测试是一种验证和诊断技术,它通过随机生成输入并使用一种非常有效的缺陷隔离策略来工作。 + +假设我刚刚编写了一个函数,用于计算给定整数的质因数: + +```clojure +(defn factors-of [n] + (loop [factors [] n n divisor 2] + (if (> n 1) + (cond + (> divisor (Math/sqrt n)) + (conj factors n) + (= 0 (mod n divisor)) + (recur (conj factors divisor) + (quot n divisor) + divisor) + :else + (recur factors n (inc divisor))) + factors))) +``` + +也假设我是使用 TDD 编写的这个函数。以下是我的测试: + +```clojure +(defn power2 [n] + (apply * (repeat n 2N))) + +(describe "factor primes" + (it "factors 1 -> []" + (should= [] (factors-of 1))) + (it "factors 2 -> [2]" + (should= [2] (factors-of 2))) + (it "factors 3 -> [3]" + (should= [3] (factors-of 3))) + (it "factors 4 -> [2 2]" + (should= [2 2] (factors-of 4))) + (it "factors 5 -> [5]" + (should= [5] (factors-of 5))) + (it "factors 6 -> [2 3]" + (should= [2 3] (factors-of 6))) + (it "factors 7 -> [7]" + (should= [7] (factors-of 7))) + (it "factors 8 -> [2 2 2]" + (should= [2 2 2] (factors-of 8))) + (it "factors 9 -> [3 3]" + (should= [3 3] (factors-of 9))) + (it "factors lots" + (should= [2 2 3 3 5 7 11 11 13] + (factors-of (* 2 2 3 3 5 7 11 11 13) + + (it "factors Euler 3" + (should= [71 839 1471 6857] (factors-of 600851475143))) + (it "factors mersenne 2^31-1" + (should= [2147483647] (factors-of (dec (power2 31)))))) +``` + +看起来很不错,对吧?但是我怎么能确定这个函数实际上是正确的呢?我的意思是,我怎么知道它在某些意外的边界条件下不会失败呢? + +当然,我可能永远无法完全确定这一点,但有一些方法可以让我更加放心。一个输出的性质是,所有因数的乘积应该等于输入。那么,为什么我不生成一千个随机整数,并确保它们的质因数的乘积等于这些整数呢? + +我可以像下面代码这样做: + +```clojure +(def gen-inputs (gen/large-integer* {:min 1 :max 1E9})) + +(declare n) + +(describe "properties" + (it "multiplies out properly" + (should-be + :result + (tc/quick-check + 1000 + (prop/for-all + [n gen-inputs] + (let [factors (factors-of n)] + (= n (reduce * factors)))))))) +``` + +> `declare n`: n 的前置声明。 + +这里我使用了 `test.check`[^8],这是 Clojure 中的基于性质的测试框架,模仿了 QuickCheck 的行为。这个思路相当简单。我定义了一个名为 `gen-inputs` 的生成器,它将生成 1 到 10 亿之间的随机整数。这个范围应该够用了。 + +测试告诉 QuickCheck 运行 1000 次。对于每个整数,它计算质因数,将它们全部相乘,并确保乘积等于输入。很棒。 + +`tc/quick-check` 函数返回一个包含结果的 map。如果 map 中的 `:result` 元素为 `true`,则表示所有检查都通过了;这就是 `should-be :result` 断言的内容。 + +质因数还有另一个性质:它们都应该是质数。所以我们来编写一个测试质数的函数: + +```clojure +(defn is-prime? [n] + (if (= 2 n) + true + (loop [candidates (range 2 (inc (Math/sqrt n)))]) + (if (empty? candidates) + true + (if (zero? (rem n (first candidates))) + false + (recur (rest candidates))))))) +``` + +这是一个相当传统的算法,尽管效率极低。不管效率如何,我们可以用它来编写质数性质测试,来检查所有因数是否为质数: + +```clojure +(describe "factors" + (it "they are all prime" + (should-be + :result + (tc/quick-check + 1000 + (prop/for-all + [n gen-inputs] + (let [factors (factors-of n)] + (every? is-prime? factors))))))) +``` + +> `(every? is-prime? factors)` 这一行是函数pipline,涉及到多个函数的组合执行: +> +> 首先先明白 `every?` 函数,它接收两个参数:一个谓词函数和一个序列。 +> +> every? 函数会将序列 factors 中的每个元素拿出来传递给谓词函数 is-prime,将结果返回给 every。 + +好了,现在我们知道这个函数返回的是一个整数列表,且列表中的每个整数都是质数,并且它们相乘的结果等于输入。这基本上就是质因数的定义。 + +所以,这很不错。我可以随机生成一堆输入,然后对输出应用性质检查。 + +## 一种诊断技术 + +我称基于性质的测试为一种诊断技术,对吧?让我们看一个更有趣的例子,我将向你展示我的意思。 + +还记得上一章中的光碟租赁店的例子吗?让我们对它进行一些基于性质的测试。 + +首先,回想一下我们写了一个名为 `make-statement-data` 的函数,它接收一个策略和一个租赁订单,并生成我们用于格式化器的 `statement-data`。下面是使用 `clojure.spec` 描述的 `rental-order` 类型规范: + +```clojure +(s/def ::name string?) +(s/def ::customer (s/keys :req-un [name])) +(s/def ::title string?) +(s/def ::type #{:regular :childrens :new-release} + +(s/def ::movie (s/keys :req-un [::title ::type])) +(s/def ::days pos-int?) +(s/def ::rental (s/keys :req-un [::days ::movie])) +(s/def ::rentals (s/coll-of ::rental)) +(s/def ::rental-order (s/keys :req-un [::customer ::rentals])) +``` + +这并不难理解。从底部往上看: +- 一个 `:rental-order` 是一个包含两个元素的映射:`:customer` 和 `:rentals`。 +- `:rentals` 元素是一个 `:rental` 项的集合。 +- 一个 `:rental` 是一个包含 `:days` 和 `:movie` 元素的映射。 +- `:days` 元素是一个正整数。 +- `:movie` 元素是一个包含 `:title` 和 `:type` 的映射。 +- `:type` 是以下之一:`:regular`、`:childrens` 或 `:new-release`。 +- `:title` 是一个字符串。 +- `:customer` 是一个包含单个 `:name` 元素的映射。 +- `:name` 是一个字符串。 + +有了这个类型规范,我们可以编写一个生成器,生成符合该类型的租赁订单。所以首先,以下是生成器: + +```clojure +(def gen-customer-name + (gen/such-that not-empty gen/string-alphanumeric)) + +(def gen-customer + (gen/fmap (fn [name] {:name name}) gen-customer-name)) + +(def gen-days (gen/elements (range 1 100))) + +(def gen-movie-type + (gen/elements [:regular :childrens :new-release])) + +(def gen-movie + (gen/fmap (fn [[title type]] {:title title :type type}) + (gen/tuple gen/string-alphanumeric gen-movie-type))) + +(def gen-rental + (gen/fmap (fn [[movie days]] {:movie movie :days days}) + (gen/tuple gen-movie gen-days))) + +(def gen-rentals + (gen/such-that not-empty (gen/vector gen-rental))) + +(def gen-rental-order + (gen/fmap (fn [[customer rentals]] + {:customer customer :rentals rental))) + (gen/tuple gen-customer gen-rentals))) + +(def gen-policy (gen/elements + [(make-normal-policy) + (make-buy-two-get-one-free-policy)])) +``` + +我不会在这里解释 `clojure.check` 的详细用法,但我会逐步说明这些生成器的功能。 + +- `gen-policy` 随机选择两种策略中的一种。 +- `gen-rental-order` 从 `gen-customer` 和 `gen-rentals` 创建一个映射。 +- `gen-rentals` 从 `gen-rental` 创建一个向量,并确保它不为空。 +- `gen-rental` 从 `gen-movie` 和 `gen-days` 创建一个映射。 +- `gen-movie` 从 `gen/string-alphanumeric` 和 `gen-movie-type` 创建一个映射。 +- `gen-movie-type` 从三种类型中选择一种。 +- `gen-days` 选择 1 到 100 之间的整数。 +- `gen-customer` 使用 `gen-customer-name` 创建一个带有名字的映射。 +- `gen-customer-name` 生成一个非空的字母数字字符串。 + +你是否注意到类型规范和生成器之间的惊人相似之处?我也注意到了。以下是生成器的一些示例输出: + +```clojure +[ + {:customer {:name "5Q"}, + :rentals [{:movie {:title "", :type :new-release}, :days 52}]} + + {:customer {:name "3"}, + :rentals [{:movie {:title "", :type :new-release}, :days 51}]} + + {:customer {:name "XA"}, + :rentals [{:movie {:title "r", :type :regular}, :days 82} + {:movie {:title "", :type :childrens}, :days 60}]} + + {:customer {:name "4v"}, + :rentals [{:movie {:title "3", :type :childrens}, :days 19}]} + + {:customer {:name "0rT"}, + :rentals [{:movie {:title "", :type :regular}, :days 42} + {:movie {:title "94Y", :type :regular}, :days 34} + {:movie {:title "D5", :type :new-release}, + :days 58}]} + + {:customer {:name "ZFAK"}, + :rentals [{:movie {:title "H8", :type :regular}, :days 92} + {:movie {:title "d6WS8", :type :regular}, :days 59} + {:movie {:title "d", :type :regular}, :days 53} + {:movie {:title "Yj8b7", :type :regular}, :days 58} + {:movie {:title "Z2q70", :type :childrens}, + :days 9}]} + + {:customer {:name "njGB0h"}, + :rentals [{:movie {:title "zk3UaE", :type :regular}, + :days 53}]} + + {:customer {:name "wD"}, + :rentals [{:movie {:title "51L", :type :childrens}, + :days 17}]} + + {:customer {:name "2J5nzN"}, + :rentals [{:movie {:title "", :type :regular}, + {:movie {:title "sA17jv", :type :regular}, :days 85} + {:movie {:title "27E41n", :type :new-release}, :days 85} + :days 85} + {:movie {:title "Z20", :type :new-release}, :days 68} + {:movie {:title "8j5B7h6S", :type :regular}, + :days 76} + {:movie {:title "vg", :type :childrens}, :days 30}]} + + {:customer {:name "wk"}, + :rentals [{:movie {:title "Kq6wbGG", :type :childrens}, + :days 43} + {:movie {:title "3S2DvUwv", :type :childrens}, + :days 76} + {:movie {:title "fdGW", :type :childrens}, :days 42} + {:movie {:title "aS28X3P", :type :childrens}, + :days 18} + {:movie {:title "p", :type :childrens}, :days 83} + {:movie {:title "xgC", :type :regular}, :days 84} + {:movie {:title "CQoY", :type :childrens}, :days 23} + {:movie {:title "38jWmKlhq", :type :regular}, + :days 96} + {:movie {:title "Liz8T", :type :regular}, :days 56}]} +] +``` + +这是一堆符合 `rental-order` 类型的随机数据。但我们来检查一下: + +```clojure +(describe "Quick check statement policy" + (it "generates valid rental orders" + (should-be + :result + (tc/quick-check + 100 + (prop/for-all + [rental-order gen-rental-order] + (nil? + (s/explain-data + ::constructors/rental-order + rental-order)))))) +``` + +这是一个不错的小型 `quick-check`,它生成 100 个随机的 `rental-order` 对象,并通过 `clojure.spec/explain-data` 函数处理。该函数确保每个租赁订单符合我们之前看到的 `::constructors/rental-order` 规范。如果符合,返回 `nil`,这就通过了 `quick-check`。 + +现在,`make-statement-data` 是否创建了一个有效的 `statement-data` 对象呢?我们用与上面相同的策略来检查: + +```clojure +(s/def ::customer-name string?) +(s/def ::title string?) +(s/def ::price pos?) +(s/def ::movie (s/keys :req-un [::title ::price]) +(s/def ::movies (s/coll-of ::movie)) +(s/def ::owed pos?) +(s/def ::points pos-int?) +(s/def ::statement-data (s/keys :req-un [::custom + ::movies + ::owed + ::points +(it "produces valid statement data" + (should-be + :result + (tc/quick-check + 100 + (prop/for-all + [rental-order gen-rental-order + policy gen-policy] + (nil? + (s/explain-data + ::policy/statement-data + (make-statement-data policy rental-order))))))) +``` + +在这里,我们看到 `statement-data` 的 `clojure.spec`,以及确保 `make-statement-data` 输出符合它的 `quick-check`。很好。 + +通过这些测试,我们可以相当确定生成器生成的租赁订单是有效的。那么现在让我们进行性质检查。 + +我们可以检查的一个性质是,确保当 `make-statement-data` 将一个 `rental-order` 转换为 `statement-data` 时,`statement-data` 对象的 `:owed` 成员是该对象中列出的所有电影的总和。 + +`quick-check` 代码如下: + +```clojure +(it "statement data totals are consistent under all policies" + (should-be + :result + (tc/quick-check + 100 + (prop/for-all + [rental-order gen-rental-order + policy gen-policy] + (let [statement-data (make-statement-data + policy rental-order) + prices (map :price (:movies statement-data)) + owed (:owed statement-data)] + (= owed (reduce + prices))))))) +``` + +`quick-check` 有什么问题呢?你能找到它吗? + +下面是当我运行的代码: + +```clojure +{:shrunk + {:total-nodes-visited 45, + :depth 14, + :pass? false, + :result false, + :result-data nil, + :time-shrinking-ms 3, + :smallest + [{:customer {:name "0"}, + :rentals [{:movie {:title "", :type :regular}, :days 1} + {:movie {:title "", :type :regular}, :days 1} + {:movie {:title "", :type :regular}, :days 1}]} + {:type + :video-store. + buy-two-get-one-free-policy/buy-two-get-one-free}]}, + :failed-after-ms 0, + :num-tests 7, + :seed 1672092997135, + :fail + [{:customer {:name "4s7u"}, + :rentals + [{:movie {:title "i7jiVAd", :type :childrens}, :days 85} + {:movie {:title "7MQM" :type :new-release}, :days 29} + {:movie {:title "qlS4S", :type :new-release}, :days 99} + {:movie {:title "X", :type :regular}, :days 87} + {:movie {:title "w1cRbM", :type :regular}, :days 11} + {:movie {:title "7Hb41O5", :type :regular}, :days 63} + {:movie {:title "xWc", :type :childrens}, :days 41} + {:type + :video-store. + buy-two-get-one-free-policy/buy-two-get-one-free}], + :result false, + :result-data nil, + :failing-size 6, + :pass? false} +``` + +是的,我知道这看起来有点复杂,但这正是 `quick-check` 展现真正威力的地方,所以请继续跟我一起看下去。 + +首先,你注意到顶层的 `:shrunk` 元素了吗?这给我们提供了一个关键线索。当 `quick-check` 发现一个错误时,它会开始寻找一个能够继续重现这个错误的最小输入。 + +看看 `:fail` 元素,它记录了最初导致错误的 `rental-order`。然后再看看 `:shrunk` 元素中的 `:smallest`,`quick-check` 成功地缩小了 `rental-order` 的规模,并且仍然保持了错误。这是它找到的最小的、依然能导致失败的输入。 + +那么,为什么会出错呢?注意到有三部电影,再注意策略是“买二赠一”。哦,原来是这样——在这种策略下,电影的总价不等于 `:owed` 字段的值。 + +正是这种“缩减”功能让基于性质的测试成为一种强大的诊断工具。 + +## 函数式 +为什么像 `quick-check` 这样的工具在面向对象语言中不太流行呢?可能是因为它们更适合用于纯函数的环境。我想在一个可变的系统中也可以使用生成器和性质测试,但那可能比在不可变的系统中复杂得多。 + +# GUI + +多年来,我在函数式编程中使用过两种不同的 GUI 框架。第一个名为 Quil[^9],它基于流行的 Java 框架 Processing[^10]。第二个是 SeeSaw[^11],它基于老旧的Java Swing[^12] 框架。 + +Quil 是“函数式”的,这使得它在“函数式”程序中非常有趣且易于使用。而 SeeSaw 则完全不是函数式的。事实上,它极度依赖可变状态,必须不断地更新。这让它在函数式程序中使用时变得非常麻烦。两者的差异非常显著。 + +我用 Quil 写的第一个程序之一是 `spacewar`。在本书中我多次提到过它。如果你想看看这个程序的运行效果,你可以访问 [https://github.com/unclebob/spacewar](https://github.com/unclebob/spacewar),那里有一个 ClojureScript 版本,可以在浏览器中运行。虽然我最初并没有为 ClojureScript 编写 `spacewar`,但Mike Fikes 在一天左右的时间里将它移植了过来。实际上,它在我的浏览器中运行得比在我笔记本上的原生 Clojure 程序还要好。 + +### Quil中的乌龟绘图 +详细讲解 `spacewar` 的源码超出了本书的范围。不过,我之前写了一个更简单的 Quil 程序,大小刚好合适,它是 `turtle-graphics`[^13]。 + +乌龟绘图[^14]是一组简单的命令,最初是在 20 世纪 60 年代末为 Logo 语言发明的。这些命令控制一个叫做“乌龟”的机器人。这个机器人坐在一张大纸上,带着一支可以升降的笔。你可以命令机器人向前或向后移动一定距离,或左转或右转一定角度。 + +图14.1展示了发明者 Seymour Papert 和他的“乌龟”之一的照片。 + +![](./asserts/14.1.png) + + + +[^1]: 我在《清洁工艺》(Addison-Wesley,2021)、《代码整洁之道》(Pearson,2008)以及《敏捷软件开发:原则、模式与实践》(Pearson,2002)中详细论述了这种方法。网络上也有大量相关信息。关于这个主题,最好的书之一是 Steve Freeman 和 Nat Pryce 的《测试引导的面向对象软件开发》(Addison-Wesley,2010)。 +[^2]: https://github.com/slagyr/speclj +[^3]: 这些对象更正式的称呼是“测试替身”(test-doubles),但在这个语境中,我将继续使用通俗的说法"mocks"。 +[^4]: https://github.com/unclebob/more-speech +[^5]: 有一些方法可以让它们返回值,但这里就不多做讨论了。如果你感兴趣,可以查看 [speclj 文档](https://github.com/slagyr/speclj)。 +[^6]: 严格来说,这些存根实际上是间谍(spies)。 +[^8]: https://clojure.org/guides/test_check_beginner +[^9]: www.quil.info +[^10]: https://processing.org +[^11]: https://github.com/clj-commons/seesaw +[^12]: https://en.wikipedia.org/wiki/Swing_(Java) +[^13]: https://github.com/unclebob/turtle-graphics +[^14]: https://en.wikipedia.org/wiki/Turtle_graphics \ No newline at end of file diff --git a/FunctionalDesign/asserts/14.1.png b/FunctionalDesign/asserts/14.1.png new file mode 100644 index 0000000000000000000000000000000000000000..86c56e09632b028297c74db06da97a24e4f4ecf1 GIT binary patch literal 76878 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 z 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 z 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 literal 0 HcmV?d00001