Pregunta

Para un archivo que contiene la clase dada, SomeCoolClass, ¿cuál sería el nombre de archivo apropiado o estándar?

 1. somecoolclass.rb
 2. some_cool_class.rb
 3. some-cool-class.rb
 4. SomeCoolClass.rb

o alguna otra variación?

Noté que en Ruby stdlib, se usan las versiones 1, 2 y 3.

¿Fue útil?

Solución

Con solo Ruby (es decir, no Rails), nombrar es solo una convención. En Rails el convención de usar guiones bajos es necesario (casi).

Creo que la convención # 2 lowercase_and_underscore.rb es más común y se ve bastante bien, aunque un artículo Aquí dice lowercasenounderscore.rb es la convención de Ruby.

Elija cualquier convención que sea más común o la que más le guste. Lo más importante es ser coherente dentro de un proyecto .

Otros consejos

Recomendaría caracteres en minúsculas con guiones bajos (número 2 en tu pregunta). Es cierto que este esquema de denominación es la convención en Rails y no es necesario en proyectos que no sean de Rails. Sin embargo, todavía me apegaría a la convención de Rails porque la mayoría de los programadores de Ruby probablemente estén usando Ruby exclusivamente para Rails de todos modos.

Personalmente, creo que el guión como separador de palabras permite la máxima legibilidad y tipificación en general, por lo que recomiendo que, cuando sea posible (en algunos contextos, no se pueda usar un guión, como en los identificadores en la mayoría de los idiomas). Una cosa importante a tener en cuenta es que el esquema que elija tendrá relación con la declaración de requerimiento que los usuarios usarán con su lib, y desea evitar tener un nombre de gema diferente al nombre de la biblioteca .

Malo
# gem install my_cool_lib
require 'my-cool-lib'

# gem install MyCoolLib
require 'my_cool_lib'
Bueno
# gem install my_cool_lib
require 'my_cool_lib'

# gem install my-cool-lib
require 'my-cool-lib'

Desafortunadamente, un pequeño puñado de bibliotecas viola esta sencilla regla de usabilidad. No seas una de esas bibliotecas. :)

my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top