gpt4 book ai didi

perl - 为什么 'opendir' 与 Perl Best Practices 中的 'open' 没有相同的策略?

转载 作者:行者123 更新时间:2023-12-04 20:59:51 24 4
gpt4 key购买 nike

有什么原因opendir没有与 open 相同的政策在 Perl Best Practices ?

我正在考虑至少这两项政策:

  • Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles
  • Perl::Critic::Policy::InputOutput::RequireBriefOpen
  • 最佳答案

    Perl 最佳实践的原始规则(对于您提到的第一个策略)是

    Don't use bareword filehandles



    这不仅仅适用于 open . Perl::Critic 很大程度上基于 PBP,但它确实不同(与 perldoc 不同):

    Perl::Critic is an extensible framework for creating and applying coding standards to Perl source code. Essentially, it is a static source code analysis engine. Perl::Critic is distributed with a number of Perl::Critic::Policy modules that attempt to enforce various coding guidelines. Most Policy modules are based on Damian Conway's book Perl Best Practices. However, Perl::Critic is not limited to PBP and will even support Policies that contradict Conway.



    因此,Perl::Critic 没有在 opendir 上执行相同的规则这一事实可能主要是一种疏忽。也可以归咎于 PBP 中的示例仅使用 open .我建议在 CPAN 上提交一个错误(查看代码,它只会更改一行)。

    第二条规则实际上并非来自 PBP,但在我看来它同样适用于 opendir。同样,在 CPAN 上向作者报告错误将是一个好主意,因为它再次只是一行更改。如果实际上这是一个有意的决定,您可能会得到更具体的反馈。

    更正:它有点不同,但第二个政策的 PBP 中最接近的规则是

    Close filehandles explicitly, and as soon as possible.



    并且如果维护者认为它有保证(并且不担心它会破坏太多现有代码),那么修复该策略将不仅仅是一个衬垫,但仍然相对容易。

    关于perl - 为什么 'opendir' 与 Perl Best Practices 中的 'open' 没有相同的策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1983222/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com