当前位置:  开发笔记 > 编程语言 > 正文

你如何在Perl中按合同设计?

如何解决《你如何在Perl中按合同设计?》经验,为你挑选了1个好方法。

我对我们的Perl项目中使用DbC的调查,我试图找到验证在源合同(例如,检查前/后置条件,不变量等)的最佳方法

Class :: Contract由Damian Conway编写,现在由C. Garret Goebel维护,但看起来它已经超过8年未被触及.

看起来我想要使用的是Moose,因为它似乎可能提供可用于DbC的功能,但我想知道是否有人有任何资源(文章等)如何去做,或者如果有任何有用的模块,我无法找到.

有人用Perl做DbC吗?我应该"跳进"Moose,看看我能为它做些什么吗?



1> Brian Philli..:

Moose为你提供了许多工具(如果不是全部糖)来做DbC.具体来说,您可以使用before,after和around方法挂钩(这里是 一些示例)来执行您可能想要对参数和返回值进行的任何断言.

作为"滚动你自己的DbC"的替代方法,你可以使用像MooseX :: Method :: Signatures或MooseX :: Method这样的模块来处理传递给子程序的验证参数.但是,这些模块不处理DbC通常提供的"后"或"不变"验证.

编辑:由于这个问题,我已经将MooseX :: Contract一起攻击并将其上传到CPAN.我很想获得有关API的反馈,因为我从未真正使用过DbC.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有