最近我开始玩OO Perl并且我正在为我正在开发的新项目创建相当多的新对象.因为我对OO Perl的任何最佳实践都不陌生,我们正急于完成它:P
我在我的每个函数中都加入了很多这样的代码:
sub funcx{
use ObjectX; # i don't declare this on top of the pm file
# but inside the function itself
my $obj = new ObjectX;
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否会导致任何负面影响,而不是在use Object任何功能范围之外的Perl模块之上.
我这样做是为了让我觉得它更干净,以防我需要改变功能.
我注意到的另一件事是,当我尝试在测试我的对象的unix服务器本身上运行一个test.pl脚本时,它很慢.但是当相同的代码通过连接到apache服务器的CGI运行时,网页的加载速度不会很慢.
我的公司使用mod_perl,axkit和apache的组合开发web应用程序.我们在unix操作系统中都有大量的Perl模块,javascripts等.
每当我需要编写一个新函数时,我会尝试进行一些代码重用,但事情就是所有的Perl模块和javascripts分散在各个文件夹中.
我讨厌以后才编写一些代码,发现已经有一个函数做了同样的事情,我当前的方法是尝试grep表名,看看是否有冗余函数,但除此之外,我几乎会只是放弃并编写一个新功能,因为我不想花太多时间搜索和找不到任何东西.
有一个更好的方法吗?或者甚至更好,我可以安装免费软件工具,它可以帮助我正确管理所有功能和模块,甚至允许开发人员记录评论等.
有这样的讨论在第C检测代码的重复使用++工具,我们有这样的事情在UNIX平台的Perl代码?
谢谢〜史蒂夫
不幸的是,在Perl中创建包,导出等时,我是一个完全的菜鸟.我尝试阅读一些模块,经常发现自己从长篇章节开始打瞌睡.如果我能够在一个简单的网页中找到我需要理解的东西而不需要向下滚动,那将会很有帮助.:P
基本上我有两个模块,A和B,A将使用B中的一些函数,B将使用A中的一些函数.当我尝试编译时,我收到大量关于函数重新定义的警告perl -c.
有没有办法正确地做到这一点?还是我的设计迟钝了?如果是这样,那会是更好的方法吗?我这样做的原因是为了避免复制n将其他模块功能再次粘贴到此模块中并重命名它们.