我已经检查了
On the Naming of Modules,
perldoc perlvar
和
perldoc perlmod
但找不到命名缩写为SMTP
,ORM
的模块的最佳做法。
同时在CPAN上看到两个变体名称:SMTP
和Smtp
如果我的新模块名称是首字母缩写,那么
哪个更好的名称是My::Module::Abcd
或My::Module::ABCD
?
答案 0 :(得分:2)
在Perl的命名约定中,除了保留之外,您还可以选择一种可以使用的命名约定。 CPAN或核心将不接受以关键字或保留的前缀开头的模块。
因此,您可以选择采用My::Module::Abcd
或My::Module::ABCD
,只要您选择采用可以帮助人们找到您的模块的那个。
或者,您可以在顶级名称中使用下划线(例如My_Corp::Session
或仅使用My_Session
)。带有下划线的所有类别也已保留。 (在perlmodlib的“选择模块名称”下对此进行了提及。)
请注意,这两个保留都仅适用于顶级名称。例如,有名为Time::Local
和Text::CSV_XS
的CPAN模块。但是Local::Time
和Text_CSV::XS
是保留名称,不会在CPAN上接受。
贵公司命名模块也可以。 (好吧,除非您为某些真正通用的发声公司工作。)使用反向域名可能会过大,除非您打算将模块分发给其他人。 (但在这种情况下,您可能应该注册一个正常的模块名称。)