【问题标题】:Does it make sense to import functions explicitly when exported by default and used a objectorientated interface?在默认导出并使用面向对象的接口时显式导入函数是否有意义?
【发布时间】:2012-03-11 13:08:39
【问题描述】:

当模块默认导出这些功能并且使用面向对象的接口时显式导入所需的功能是否有意义 - 在加载模块时?

【问题讨论】:

    标签: perl import module export


    【解决方案1】:

    我认为这是主观的,但是是的,这通常是有道理的。默认导入更方便,但显式导入更安全,因为您不太可能在不知情的情况下意外导入。

    [...] 以及何时使用面向对象的接口?

    如果一个模块只有有一个面向对象的接口,那么它不应该默认导出太多(因为方法调用不会从已经导入的方法名称中受益)。如果一个模块同时提供一个面向对象的接口一个过程接口,而您只使用面向对象的接口,那么这很可能是个好主意明确指定您的导入,因为您需要很少的导入(或根本不需要)。当然,这取决于模块是否默认导出其任何过程函数名。

    【讨论】:

      【解决方案2】:

      通过显式声明您要导入的函数,即使它们默认导出,也会阻止模块导入您可能不使用的其他函数,默认情况下会导出。

      【讨论】:

        猜你喜欢
        • 2021-06-28
        • 2019-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多