reglas programacion para nomenclatura nomenclador nombres nombrar los lenguajes convención convencion constantes camelcase actuales ruby naming-conventions

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>