如下面的$DimensionSwitch
示例所示,我喜欢重用变量的名称。我知道$DimensionSwitch
是词法范围的,所以它似乎没有引起任何问题,但(1)它可能会导致某些我不知道的问题,因此(2)重用变量的做法很差Perl中的名字?
my $DimensionSwitch = checkDimensions(\@coefficients,\@predictors);
sub checkDimensions{
my @a1 = @{$_[0]};
my @a2 = @{$_[1]};
my $Size1 = @a1;
my $Size2 = @a2;
my $DimensionSwitch;
if ($Size1 == $Size2){
$DimensionSwitch = 1;
}else{
$DimensionSwitch = 0;
}
return $DimensionSwitch;
}
答案 0 :(得分:2)
和代码......
my $DimensionSwitch = int(@coefficients == @predictors);
答案 1 :(得分:1)
在Perl中使用pragma'use strict'非常有用。这个pragma并不是所有人的治疗方法,但是你也可以使用'使用警告',并且自我会告诉你许多讨厌的事情:)
答案 2 :(得分:1)
不禁止在词法范围内重用变量名称,但可能会造成混淆并造成微妙的维护问题。
您可以使用Perl::Critic::Policy::Variables::ProhibitReusedNames作为分析工具。
一个漂亮的网络界面允许您上传您的代码,以便以不同程度的残暴here进行分析。