gpt4 book ai didi

Perl 模块命名约定

转载 作者:行者123 更新时间:2023-12-01 13:18:55 25 4
gpt4 key购买 nike

我检查过 On the Naming of Modules , perldoc perlvarperldoc perlmod但找不到以首字母缩写词命名模块的最佳实践:SMTPORM

在 CPAN 上可以同时看到两个变体名称:SMTPSmtp

如果我的新模块名称是首字母缩写词,那么
什么是更好的名称:My::Module::AbcdMy::Module::ABCD

最佳答案

在 Perl 的命名约定中,除了保留之外,您还可以选择与您一起工作的人可以理解的命名约定。任何以关键字或保留前缀开头的模块都不会被 CPAN 或核心接受。

因此,您可以选择采用 My::Module::AbcdMy::Module::ABCD,只要您选择采用一个有助于人们会找到您的模块。

或者,您可以在顶级名称中使用下划线(如 My_Corp::Session 或只是 My_Session)。所有带下划线的类别也已保留。 (这在 perlmodlib 中提到,在“为模块选择名称”下。)

请注意,这两项保留仅适用于顶级名称。例如,有名为 Time::LocalText::CSV_XS 的 CPAN 模块。但是 Local::TimeText_CSV::XS 是保留名称,不会被 CPAN 接受。

以您的公司命名模块也很好。 (好吧,除非你为一些听起来很普通的公司工作。)使用反向域名可能有点矫枉过正,除非你打算将你的模块分发给其他人。 (但在那种情况下,您可能应该注册一个正常的模块名称。)

您可能想在 How do I choose a package name for a custom Perl module that does not collide with builtin or CPAN packages names? 上花点时间

关于Perl 模块命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com