我怎样才能有效地管理代码重用的Perl模块?
-
21-08-2019 - |
题
我公司开发使用的mod_perl,axkit和Apache的组合的网络应用程序。 我们有吨Perl模块,Javascript角等,都在UNIX操作系统。
每当我需要写一个新的功能,我尝试着做一些代码重用,但事情是所有的Perl模块和JavaScript的分散在整个文件夹。
我只恨后来写一些代码,发现有已经该做同样的事情的功能,我目前的方法是试图用grep表名,看是否有多余的功能,但除此之外,我几乎会干脆放弃谱写新的功能,因为我不想花太多的时间来搜索和发现什么都没有。
有没有更好的方式来做到这一点?甚至更好,是我可以安装它可以帮助我正确地管理所有的功能和模块,甚至允许开发者日志评论有免费的工具,等等。
修改
有是上基于C检测代码重复这一讨论 ++使用工具,我们是否有这样的事情在UNIX平台的Perl代码?
感谢 〜史蒂夫
解决方案
整理您的源目录,使每个功能只有一个地方,它应该是,很容易找到的东西。
确认共享的命名约定,以避免重复。
设计您的模块,使他们只能做一两件事 - 并把它做好。
查看的代码,以确保名称和位置是否正确。
提供一个有效的搜索引擎基于码索引,这样很容易看,如果已经有做一个特殊任务的功能。
不要低估时间为广义含强>现有组件,使得它可以有效地重复使用。
<强>文档强>的模块,与API文档的/或单元测试。
沟通让每一个有什么可能被已经写了一个很好的把握,谁拥有或知道谁可能已经工作/使用的模块队内。
其他提示
这是一些我很感兴趣。
使用像SVN,GIT中或集市一个简单的版本控制软件不正是我想要的。在VCS是除了这样的系统强制性的,但它不是这个系统。经过一番研究,我已被告知寻找到包装为了实现这一点,我认为,某种形式的包装系统是要走的路。
如果你想包装系统的一个例子,看看debians APT。每个包有版本依赖的描述和源代码,并且获得良好的包装系统,你可以去像“魔术搜索组方程不动点”,以及神奇的包装系统是要找到解决问题的模块。如果您在您的源代码包,它也将添加所有缺少的依赖像可能是图形和这样的。
不过,研究这个刚开始不久之前,我的笔记本电脑的硬盘死了,这推迟进一步的研究和实际结果到这个方向,但是也许你能找到一些有趣的事情(和告诉我的微调,微调)
HTH, Tetha
我曾经工作过,所使用Perl的一家公司,并有类似的问题。我们拿出的溶液,是在重新组织的文件的功能,同时在考虑一个三层架构(表示,业务和持久性),并且这些元件被操纵。
因此,我们有一个Perl的文件在数据库中的每个主表,每个实体操纵他们的业务运营,等等...这一个Perl的文件,可以很容易地避免重复代码,因为你知道究竟在何处寻找对于给定的功能。