【发布时间】:2014-06-26 22:21:20
【问题描述】:
我在网上阅读了一些关于 Perl style 命名约定的文章,其中建议使用小写字母并用下划线分隔单词或函数名称。有些人使用小写的第一个单词,然后将其他单词大写。当然是 Windows .NET 等 每个单词都大写,没有下划线。
我有一些包方法很多像entriesoncurrentpage 这样的词,如果我遵循 Perl 风格建议我应该这样做:
sub entries_on_current_page {...}
这在方法名后面加了四个下划线字母,另一种风格是:
sub entriesOnCurrentPage {...}
Windows 风格应该是:
sub EntriesOnCurrentPage {...}
PHP 有时像mysql_real_escape_string() 一样使用全小写和下划线,有时像htmlspecialchars 这样使用全小写不带下划线,当然 PHP 函数名不区分大小写,因此 Perl 不支持此功能。
所以问题是,对于包含许多单词的长名称,Perl 编码使用的最佳样式是什么。
【问题讨论】:
-
社区惯例似乎主要是
names_with_underscores而不是camelCase,但最终没有“最佳”选项,一致性比你一贯使用的风格更重要。 -
您的第一句话回答了您自己的问题。故事结局。我看不出 .NET 或 PHP 与这里有什么关系。
-
如果你想要保持一致性并且詹姆斯格林(和我)建议,那么你会使用第一个。您将使用的几乎所有模块都将使用该约定。
-
这是我想从专业人士那里知道的,以便做出初学者的决定,尽管事实上会在名称中添加多少下划线,特别是对于像 get_on_start_is_action_etc 这样的小词。
-
我会选择
current_page_entries以使其更短。这将从哪个对象或类中调用?如果 $current_page 是对象,我只会使用entries。
标签: perl