模块很酷,尤其是当它们带有版本控制时。您可以定义最小模块版本以防止您要使用的方法泄漏。但是每一个光明的一面都有一个黑暗的一面,这意味着 Perl 的 TIMTOWTDI。
作为一名 Perl 开发人员将近七年之后,我以多种方式看到并编写了版本声明。有些很容易被认为是坏的,有些则不是。由于没有人能完全了解一门语言,所以我想问你们,在 Perl 中进行以下软件版本控制的优缺点是什么。
如果您发现有一种泄漏,请不要犹豫,评论更多的版本定义方式;)
请尊重:
- 奇怪的模块要求/使用可能会导致检测模块版本的问题(编译与运行时)
- PAUSE/CPAN 解析(和其他常见服务)
- 最终用户的可读性
- 开发人员的可维护性
在 Perl 中声明包版本方法的优缺点是什么?
方法一
package PackageName;
BEGIN {
use version 0.77; our $VERSION = version->new('v0.0_1');
}
方法二
package PackageName;
BEGIN {
our $VERSION = 0.000_01;
}
方法三
package PackageName;
BEGIN {
our $VERSION = 0.0.1;
}
方法四
package PackageName;
use version 0.77; our $VERSION = version->new('v0.0_1');
方法五
package PackageName;
our $VERSION = 0.000_01;
方法6
package PackageName;
our $VERSION = 0.0.1;