Question

Pour un fichier contenant la classe donnée, SomeCoolClass, quel serait le nom de fichier correct ou standard?

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

ou une autre variante?

J'ai remarqué que dans Ruby stdlib, les versions 1, 2 et 3 sont utilisées.

Était-ce utile?

La solution

Avec Ruby (c'est-à-dire pas Rails), l'attribution de nom n'est qu'une convention. Dans Rails , le convention d'utilisation des traits de soulignement est nécessaire (ou presque).

Je pense que la convention n ° 2 minuscule_et_underscore.rb est plus courante et a plutôt fière allure, bien qu'un article Ici dit que lowercasenounderscore.rb est la convention de Ruby.

Choisissez quelle convention est la plus commune ou quelle convention vous préférez. Le plus important est de rester cohérent au sein d'un projet .

Autres conseils

Je recommanderais les caractères minuscules avec des traits de soulignement (numéro 2 de votre question). Il est vrai que ce schéma de nommage est la convention dans Rails et n'est pas nécessaire dans les projets non-Rails. Cependant, je respecterais toujours la convention Rails car la plupart des programmeurs Ruby utilisent probablement Ruby exclusivement pour Rails.

Personnellement, je pense que le trait d'union comme séparateur de mots permet une lisibilité et une typabilité maximales en général, donc je recommande que, dans la mesure du possible (dans certains contextes, un trait d'union ne peut pas être utilisé, comme dans les identifiants de la plupart des langues). Une chose importante à garder à l'esprit est que le schéma que vous choisissez aura une incidence sur la déclaration require que les utilisateurs utiliseront avec votre bibliothèque, et vous souhaitez éviter d'avoir un nom de gem différent du nom de la bibliothèque .

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

# gem install MyCoolLib
require 'my_cool_lib'
Bien
# gem install my_cool_lib
require 'my_cool_lib'

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

Malheureusement, une petite poignée de bibliothèques enfreint cette simple règle d’utilisabilité. Ne soyez pas une de ces bibliothèques. :)

my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top