我刚刚在代码审查中被要求首次检查调用
那么,人们通常为什么不会检查此函数的返回码呢?
Getopt::Long
Perl 模块的GetOptions()
函数的返回码。我不记得曾经看到过对GetOptions()
函数的这种测试。那么,人们通常为什么不会检查此函数的返回码呢?
Getopt::Long
Perl 模块的GetOptions()
函数的返回码。我不记得曾经看到过对GetOptions()
函数的这种测试。人们不检查 GetOptions
函数的返回值的原因之一是,他们想要处理未指定的选项而不使用 Getopt::Long (通过在调用GetOptions
后直接解析 @ARGV
)。 或者,他们只想忽略未指定的选项。 或者,他们可能没有意识到GetOptions
函数可能会失败。
我总是检查返回值,因为我喜欢捕捉命令行中的拼写错误。 检查返回值的标准方法使用Pod::Usage Core 模块(请参见POD中的示例代码)。 另请参见:Dynamic Duo --或-- Holy Getopt::Long, Pod::UsageMan!
GetOptions
的返回值。例如:die unless GetOptions(...)
。如果不是这样,pass_trough
仍然是一个选项,可以捕获@ARGV
中的其余参数。 - matthias krull