Ruby – 命名约定 – 类/模块名称中首字母缩略词的字母大小写?

我需要在一个名为“SCM”的模块中创建一个代表“SVN”的类。 但我不知道在Ruby中处理首字母缩略词时的惯例是什么,除了“Camel case is preferred”之外,在Google中找不到任何相关内容。

我应该称它为SCM::SVN还是Scm::Svn ? 这是一个约定吗?

SCM::SVN对我来说最好看。 Rails充满了ERB,ORM和OMFGIMATEAPOT等类 。 而且更不用说像JSONSerializer这样的东西了。 Ruby的源代码也有一堆缩略语 。 对我来说最明显的例子是YAML 。 我所看到的标准是为CamelCase加上字母,但一般不要将它们放在一边(尽管Rails对模型名称有意见)。

如果你有grep和源代码,你可以看到很多类似的例子

 grep -r 'class [AZ]\{3,\}'  # or, if you only want acronyms and nothing like YAMLColumn: grep -rw 'class [AZ]\{3,\}'  

将以下内容添加到config/initializers/inflections.rb

 ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.acronym 'SVN' end 

现在运行$ rails g model SVN…将在名为svn.rb的文件和关联的表svns创建一个名为SVN的类。

我认为SCM::SVN看起来更好(美观),并且我看到使用相同约定的库。 这只是你认为读得更好的问题。

(但请注意,如果要构建Rails项目,并希望从/ lib目录自动加载此模块,则可能必须使用Scm::Svn 。)