如何验证Clojure中的重构?

时间:2013-01-11 14:57:35

标签: clojure

我在enlive中找到了以下代码:

net.cgrand.enlive-html=> (source node-selector?)
(defn node-selector? [selector]
  (not (fragment-selector? selector)))

并考虑将其重构为以下代码:

(def node-selector? (complement fragment-selector?))

如何验证重构的完整性,以便通过更改正确处理所有案例?

1 个答案:

答案 0 :(得分:7)

咳嗽测试咳嗽并努力思考。 您必须确保参数和结果域没有改变(处理truthy值时要特别小心)。 在这种情况下,变化似乎无害但是你失去了一些东西:doc不再记录arglist。 另一个微妙的结果:当你重新定义片段选择器?,节点选择器?仍然指的是旧的片段选择器?。