在perl的另一个文件中分离所有公共子例程是否可取?

在perl的另一个文件中分离所有公共子例程是否可取?,perl,require,subroutine,Perl,Require,Subroutine,我想在另一个文件中分离所有公共子例程,以节省一些空间并整理每个文件。然后只需使用require()调用一个子例程 例如 sub greet{ print "Hi there\n"; } 我在Script1.pl、Script2.pl和Script3.pl中添加并调用了它 将子程序分离到另一个文件时,赞成和反对的意见是什么 我对我的语法感到抱歉。希望您能帮助我理解。当您有多个脚本使用的代码时,通常应该将其拆分为一个库,如您所述。有很多方法可以做到这一点,每种方法都有自己的优点和缺点,这

我想在另一个文件中分离所有公共子例程,以节省一些空间并整理每个文件。然后只需使用require()调用一个子例程

例如

sub greet{
     print "Hi there\n";
}
我在Script1.pl、Script2.pl和Script3.pl中添加并调用了它

将子程序分离到另一个文件时,赞成和反对的意见是什么


我对我的语法感到抱歉。希望您能帮助我理解。

当您有多个脚本使用的代码时,通常应该将其拆分为一个库,如您所述。有很多方法可以做到这一点,每种方法都有自己的优点和缺点,这超出了您具体问题的范围

因此,为了解决您关于将功能迁移到库中的利弊的具体问题,让我们从

赞成的意见
  • 因为重复代码较少,所以更容易
    • 调试代码(存在bug的地方更少)
    • 更新您的代码(您不必在10个位置编辑相同的功能)
  • 它使与其他人或其他项目共享库函数变得更容易
  • 它通过让你模块化地思考来鼓励更好的设计
  • 节省空间(使用现代存储介质,这是一个很小的问题)
  • 欺骗
  • 分发代码比较困难——您必须确保分发所有必需的文件
  • 一次看到整个代码并不是那么容易——这只是小项目的问题,在小项目中,您甚至可以选择一次将整个项目安装到屏幕上(或在您的头脑中)

  • 一般经验法则:除了非常小和/或自包含的项目外,请使用库。

    每当您有多个脚本使用的代码时,通常应该将其拆分为库,如您所述。有很多方法可以做到这一点,每种方法都有自己的优点和缺点,这超出了您具体问题的范围

    因此,为了解决您关于将功能迁移到库中的利弊的具体问题,让我们从

    赞成的意见
  • 因为重复代码较少,所以更容易
    • 调试代码(存在bug的地方更少)
    • 更新您的代码(您不必在10个位置编辑相同的功能)
  • 它使与其他人或其他项目共享库函数变得更容易
  • 它通过让你模块化地思考来鼓励更好的设计
  • 节省空间(使用现代存储介质,这是一个很小的问题)
  • 欺骗
  • 分发代码比较困难——您必须确保分发所有必需的文件
  • 一次看到整个代码并不是那么容易——这只是小项目的问题,在小项目中,您甚至可以选择一次将整个项目安装到屏幕上(或在您的头脑中)

  • 一般经验法则:除了非常小和/或自包含的项目外,使用库。

    我没有注意到这一点。我改了,我没注意到。我改变了。经验法则重申:干-不要重复你自己经验法则重申:干-不要重复你自己