【发布时间】:2010-10-14 02:57:58
【问题描述】:
我已阅读perldoc on modules,但我没有看到关于命名包的建议,因此它不会与内置或 CPAN 模块/包名称冲突。
以往为了开发本地的Session.pm模块,我用我公司的名字创建了一个本地目录,比如:
package Company::Session;
... Session.pm 将在目录 Company/ 中找到。
但我只是不喜欢这种命名约定。我宁愿将包层次结构命名为更接近代码的功能。但这就是在 CPAN 上的一般做法......
我觉得我缺少一些基本的东西。我还查看了 Damian 的 Perl 最佳实践,但我可能没有找对地方......
关于以正确的方式避免包命名空间冲突的任何建议?
更新相关问题:如果存在包名冲突,Perl 如何选择使用哪一个?谢谢大家。
【问题讨论】:
-
附带说明,这正是 Java 命名空间首先使用域名完成的原因(内置类除外,它以 java. 或 javax. 开头)。 .NET 也有同样的问题...
标签: perl module naming-conventions cpan