programacion - Ruby-Convención de nomenclatura-mayúsculas y minúsculas para acrónimos en los nombres de clase/módulo?
reglas de nomenclador de variables y constantes de los lenguajes actuales (3)
Necesito crear una clase que represente "SVN" dentro de un módulo llamado "SCM". Pero no sé cuál es la convención cuando se trata de los acrónimos en Ruby, y no pude encontrar nada relevante en Google, excepto que se prefiere el caso Camel
¿Debería llamarlo SCM::SVN
o Scm::Svn
? ¿Hay una convención para esto?
Agregue lo siguiente a config/initializers/inflections.rb
.
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym ''SVN''
end
Ahora ejecutando $ rails g model SVN…
creará una clase llamada SVN
en un archivo llamado svn.rb
y una tabla asociada svns
.
Creo que SCM::SVN
ve mejor (estéticamente) y he visto bibliotecas que usan la misma convención. Realmente es solo una cuestión de lo que piensas que se lee mejor.
(Sin embargo, tenga en cuenta que si está creando un proyecto de Rails y desea que este módulo se cargue automáticamente desde el directorio / lib, es posible que tenga que usar Scm::Svn
).
SCM::SVN
ve mejor para mí. Rails está lleno de clases como ERB, ORM y OMFGIMATEAPOT . Y eso no quiere decir cosas como JSONSerializer. La fuente de Ruby también tiene un montón de siglas . El ejemplo más obvio para mí es YAML
. El estándar como lo he visto es el de mayúsculas para CamelCase, pero en general no para bajarlas (aunque Rails tiene opiniones sobre los nombres de modelos).
Si tienes grep y el código fuente puedes ver muchos ejemplos con algo como
grep -r ''class [A-Z]/{3,/}'' <path/to/source>
# or, if you only want acronyms and nothing like YAMLColumn:
grep -rw ''class [A-Z]/{3,/}'' <path/to/source>