-2

问题:

我在许多不同的脚本中使用了很多 CPAN 模块和硬编码的 perl 函数(其中很多是重复的),并且我想通过提取所有通用代码来使我的代码库 DRY(不要重复自己) (甚至可能通过一些重构),将自己的代码和 cpan 代码都放入一个公共模块中,并在我的脚本中使用它,这样当发生更改时,我只需要在一个地方更改代码(它们确实如此)。

所以我想问一下你是否正在使用你在 perl 职业生涯中实现的一些功能,这些功能你会永久放入这样一个通用模块中,以便在编写新脚本时,你只需要编写特定于核心功能的代码脚本,并为其余代码使用公共模块。

4

1 回答 1

4

不要重构 CPAN 模块。将这些视为神秘盒子。如果使用多个 cpan 模块做或多或少相同的工作存在问题,请标准化一个。

我有一堆放在Local命名空间中的本地 Perl 模块。例如,Local::WinAD访问和操作我们的活动目录。LocalCPAN 永远不会使用此命名空间。它作为项目存储在我们的版本控制系统中,可以在任何系统上检出和安装。您可以使用use lib编译指示。

如果你做模块,把它们做好。用@EXPORT_OK而不用@EXPORT。(或者,更好的是,使它们成为面向对象的模块)。使用POD文档并通过Test::SimpleTest::More模块进行广泛的单元测试。

假装您会将它们提交给 CPAN。

而且,还要非常仔细地搜索 CPAN,以确保您没有重复已经完成的工作。毕竟,您想练习 DRY,其中包括不重做 CPAN 已经为您完成的工作。

于 2013-02-05T15:11:30.257 回答