gpt4 book ai didi

perl - 主程序与子程序中的代码

转载 作者:行者123 更新时间:2023-12-01 00:49:28 25 4
gpt4 key购买 nike

您如何决定是将代码放在子例程中还是放在 Perl 脚本的主要部分中?

我知道如果您需要重用代码,您会把它放在子例程中,但如果您不重用怎么办?放入子例程以对代码进行分组并使其更易于阅读是一种好习惯吗?

示例(主要):

my ($num_one, $num_two) = 1, 2;
print $num_one + $num_two;
print $num_one - $num_two;

示例(在子程序中):

 my ($num_one, $num_two) = 1, 2;
add($num_one, $num_two);
subtract($num_one, $num_two);

sub add {
my ($num_one, $num_two) = @_;
return $num_one + $num_two;
}

sub subtract {
my ($num_one, $num_two) = @_;
return $num_one - $num_two;
}

我知道这是一个简单的例子,但对于更复杂的代码(如果 sub add 和 sub subtract 有更多代码),将子程序分组是否有意义?

谢谢!

最佳答案

您已经指出,如果代码位于子例程中,则代码更易于重用。我认为至少还有其他三个使用子例程的充分理由。

  1. 如果你的子程序写得很好(我的意思是它们不使用全局变量,它们有明确定义的返回点并且它们很小 - 当然不会超过一屏代码)那么你可以在子例程中处理代码而不关心其余代码。这使您的代码更易于维护。
  2. 名称恰当的子例程使您的代码更易于理解。如果您的主执行线只调用了六个名称明确的子例程,那么您的程序在做什么就很明显了。
  3. 子程序中的代码比子程序之外的代码更容易测试。如果您的子例程位于单独的库中,那就更好了。测试套件只需加载库并依次尝试每个子例程,检查它是否具有正确的效果。

这些点显然都是简化的。但它们在某种程度上解释了为什么我的绝大多数代码都在子例程中。

关于perl - 主程序与子程序中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036066/

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