首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用或不使用命名空间::扫描和/或现代::Perl

使用或不使用命名空间::扫描和/或现代::Perl
EN

Stack Overflow用户
提问于 2014-03-24 01:57:46
回答 2查看 245关注 0票数 3

在“我的最后一个问题 @Borodin”中,我的问题是:

您应该从移除现代::Perl和命名空间::扫描开始。应该避免以务实的方式运行的模块。

我有点困惑,因为:

  • 在最新的驼鹿BestPractices手册中推荐使用namespace::autoclean

使用命名空间::autoclean只是良好的代码卫生,因为它在包的编译周期结束时从类的名称空间中删除导入的符号,包括Moose关键字。一旦类构建完毕,就不需要这些关键字了。(这比在包的末尾不放驼鹿要好)。

在书中,Intermediate perl也推荐使用namespace::autoclean

是的,我使用的是autoclean -- sweep模块--因为再次使用从博士那里

编写此杂注是为了解决出色的命名空间::auto洁净的一些问题。特别是,命名空间::autoclean将删除通过重载安装的特殊符号,因此不能在重载Perl运算符的对象上使用命名空间::auto洁净。 ... 在大多数情况下,命名空间::扫描应该作为命名空间::auto洁净的插入替代。发布时,除了自己的测试之外,此实用程序还通过了所有命名空间::auto洁净的测试。

因为我是perl初学者,所以我真的很困惑。对我来说,当我读到:这个模块解决了另一个模块的一些问题--意思是:使用这个模块。

手册(从哪里我应该学习)说“使用它”和专家从堆叠溢出远程:不要使用它。

所以,有谁能解释一下:

  • 使用namespace::sweep是正确的,还是我应该使用namespace::autoclean,还是不使用?
  • 如果没有,为什么BestPractices建议这样做?

用于“现代派”。当然,我可能不太明白到底是怎么回事。我所知道的,(再一次是从博士那里)

这就启用了严格和警告的实用程序,以及Perl 5.10中可用的所有特性。它还支持perldoc中记录的C3方法解析顺序,并加载IO::File和IO::Handle,以便您可以调用文件句柄上的方法。今后,它可能包括更多的核心模块和实用程序。

当然,不要对mro有深刻的理解,只是认为在多重继承的情况下,这是“致命的死亡钻石”问题的答案。

到今天为止,我真的很高兴,因为它是我所需要的实用主义的缩写:

代码语言:javascript
运行
复制
use strict;
use warnings;
use feature 'say';

那么,什么是“现代::Perl”(和其他类似的cpanm模块)的“状态”呢?允许使用还是不允许?

EN

Stack Overflow用户

回答已采纳

发布于 2014-03-24 08:41:01

关于名称空间的问题::扫描:

首先,请注意名称空间::扫描解决的实际问题。

特别是,命名空间::autoclean将删除通过重载安装的特殊符号,因此不能在重载Perl运算符的对象上使用命名空间::auto洁净。

这意味着,如果您的类有重载运算符,那么如果您同时使用use namespace::autoclean,它们将无法工作。但只有当您use overload时才会出现此问题。除此之外,命名空间::auto洁净就足够了。

其次,它说名称空间::扫描可以被使用,而不是名称空间::auto洁净:

在大多数情况下,命名空间::扫描应该作为命名空间::auto洁净的插入替代。发布时,除了自己的测试之外,此实用程序还通过了所有命名空间::auto洁净的测试。

因此,要回答您的问题,“使用命名空间::扫描是正确的,还是我应该使用命名空间::autoclean它们中的任何一个?”

  1. 您应该按照Moose最佳实践的建议至少使用其中的一种。
  2. 使用命名空间::扫描通常是可以的,因为它说它是为此而设计的,并且它通过了所有的命名空间::auto洁净的测试。
  3. 尽管有上面的第2点,如果您不使用use overload,那么使用命名空间::auto洁净就没有问题,所以您可以在本例中使用它。
票数 5
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22599829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档