所以社区,
在传递给Perl模块的方法时,如何一致地在Perl模块的方法上获得自动完成/内容辅助,是否有一个最佳实践编码标准。例如:
sub main {
my $moduleObject = MyNameSpace::ModuleObject->new();
processModuleObject($moduleObject);
}
sub processModuleObject {
my $moduleObject = shift;
$moduleObject->... <- that is were I want context assist/auto-completion to work
}让它工作的最好的工作是下面这些我不满意的地方:
sub main {
my $moduleObject = MyNameSpace::ModuleObject->new();
processModuleObject($moduleObject);
}
sub processModuleObject {
my $moduleObject = MyNameSpace::ModuleObject->new();
$moduleObject = shift;
$moduleObject->runLogic();
} 有没有我们应该知道的编码最佳实践?
/Thomas
发布于 2011-09-18 22:38:27
您可以将任何内容传递给processModuleObject方法。Perl中没有强类型的参数和方法签名,或者至少没有强制执行它的机制。
EPIC IDE怎么可能弄清楚方法的参数是什么类型呢?我不知道。
不过,您可以使用Moose和可选的Add-on-Module MooseX::Declare,这样您就可以编写
method processModuleObject (MyNameSpace::ModuleObject $myobj) { ... }但是EPIC不会识别Moose语法和方法声明。因此,您可能会丢失Eclipse的“大纲视图”。但您最多会得到一些详细的运行时错误,指示您在传递参数的位置出现类型不匹配错误。
如果有人用这种方式扩展EPIC,让它成为“驼鹿感知”,那就太酷了。
https://stackoverflow.com/questions/7460848
复制相似问题