-
4 votesanswersviews
在应用“按 Contract 设计”时,存储输入值以检查后置条件是否成立
我经常使用 assertthat 包来检查函数中的后置条件 . 当阅读更多关于 Contract 式设计的想法时,我偶然发现了与输入值相比较的输出检查的想法 . 最简单的例子如下: toggle <- function(x)!x 人们可以立即声明 x == !old_x 必须始终为真 . ( old_x 代表评估前 x 的值 . ) (当然这个例子过于简单,后置条件不会为人类或计算机增加...