Frage

Für eine Datei mit der angegebenen Klasse enthält, SomeCoolClass, was wäre der richtige oder Standard-Dateiname sein?

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

oder eine andere Variation?

bemerkte ich in der Ruby stdlib, Versionen 1, 2 und 3 verwendet werden.

War es hilfreich?

Lösung

Mit nur Rubin (das heißt nicht Rails) ist Benennung nur eine Konvention. In Rails Konvention der Verwendung von Unterstrichen notwendig ist (fast).

Ich denke Konvention # 2 lowercase_and_underscore.rb häufiger und sieht ziemlich gut, wenn auch einen Artikel Hier sagt lowercasenounderscore.rb ist die Ruby-Konvention.

Wählen Sie entweder , die immer häufiger Konvention ist oder welche je ein Sie mehr mögen. Das Wichtigste ist, zu konsistent innerhalb eines Projektes .

Andere Tipps

würde ich Kleinbuchstaben mit Unterstrichen (Nummer 2 in Ihrer Frage) empfehlen. Es stimmt, dass dieses Namensschema die Konvention in Rails und nicht notwendig in nicht-Rails-Projekten. Allerdings würde ich an die Rails Konvention bleiben immer noch, weil die meisten Ruby-Programmierer sind wahrscheinlich mit Ruby ausschließlich für Rails sowieso.

Ich persönlich denke, der Bindestrich als Worttrennzeichen für maximale Lesbarkeit und typability im Allgemeinen macht, so empfehle ich, dass, wenn möglich (in manchen Kontexten kann ein Bindestrich nicht verwendet werden, wie in Identifikatoren in den meisten Sprachen). Eine wichtige Sache zu beachten ist, dass das System Sie wählen, wird einen Einfluss auf die Aussage erfordern haben, dass die Nutzer mit Ihrem lib verwenden, und Sie möchten vermeiden eine andere Edelsteinnamen mit als Bibliotheksnamen .

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

# gem install MyCoolLib
require 'my_cool_lib'
Gut
# gem install my_cool_lib
require 'my_cool_lib'

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

Leider eine kleine Handvoll von Bibliotheken verletzt diese einfache Bedienbarkeit Regel. Seien Sie nicht einer dieser Bibliotheken. :)

my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top