在Perl中声明包版本方法的优缺点是什么?
模块很酷,特别是当它们进行版本控制时.您可以定义最小模块版本,以防止想要使用的方法泄漏.但是每一个轻微的一面都有一个黑暗的一面,这意味着Perl的TIMTOWTDI.
经过近七年的Perl开发人员,我以许多方式看到并写了版本声明.有些很容易被指出是坏的,有的不是.由于没有人能完全了解一种语言,我想问你们Perl中以下软件版本的优缺点是什么. 如果发现漏洞,请不要犹豫,评论更多的版本定义方式;) 请尊重 >奇怪的需要/使用模块可能会导致故障检测模块的版本(编译vs运行时) 在Perl中声明包版本方法的优缺点是什么? 方法1 package PackageName; BEGIN { use version 0.77; our $VERSION = version->new('v0.0_1'); } 方法2 package PackageName; BEGIN { our $VERSION = 0.000_01; } 方法3 package PackageName; BEGIN { our $VERSION = 0.0.1; } 方法4 package PackageName; use version 0.77; our $VERSION = version->new('v0.0_1'); 方法5 package PackageName; our $VERSION = 0.000_01; 方法6 package PackageName; our $VERSION = 0.0.1; 解决方法
正确的答案是这样做:
package My::Thing; our $VERSION = "0.001"; 版本应始终为十进制数,使用三位数的拆分约定.上述版本将缩短为v0.1.0,以更改第3步缩写形式,您将定义您的版本,如下所示:0.001001,这将是v0.1.1缩写. 不要将下划线放入您的版本号以标记开发版本. Perl工具链之后采用了-TRIAL机制,如Dist::Zilla 4.101800-TRIAL所示.其优点是代码中的版本号不需要更改.只有发布文件名和元文件才能从规范中修改,方法是添加“.TRIAL”. 编辑: 在阅读daxim的答案并思考一下之后,我必须同意将版本号加入引号.它不会以任何方式改变功能,但是当实际上是v0.1.10并且更清楚地读为0.001010时,会减少0.00101被误认为v0.1.1的几率. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |