Следует ли использовать тире или подчеркивание при именовании драгоценного камня более чем одним словом? - PullRequest
56 голосов
/ 14 января 2011

Я запутался в том, что такое соглашение об именах драгоценных камней, когда имя драгоценного камня содержит более одного слова.

  • думать-сфинкс - это имя драгоценного камня, но основание *.rb файл для этого драгоценного камня: lib /inking_sphinx.rb (подчеркивание)

  • действует как тег-имя-имя - это имя драгоценного камня, а базовый файл * .rb называетсяlib / acts-as-taggable-on.rb (дефисы)

  • factory_girl использует подчеркивание как в имени драгоценного камня, так и в имени базового файла * .rb

Имеет ли значение, если использовать подчеркивание или дефис?Есть ли здесь какой-либо консенсус?

Ответы [ 2 ]

51 голосов
/ 14 января 2011

У Эрика Ходеля есть запись в блоге об этом: Рекомендация по именованию проектов

Рельсы укрепили соглашение отображение имен классов CamelCase на подчеркнутые имена файлов (класс IMAPProcesor определен в imap_processor.rb). Используя подчеркнутое имена драгоценных камней облегчают людям выяснить, какой файл требуется (то же как имя проекта) или какой класс имя для поиска в ри.

Если у меня есть плагин или расширение Я приму название субпроекта с чертой. Если бы я хотел добавить новый обработчик для imap_to_rss для банка Chase электронная почта, драгоценный камень будет назван imap_to_rss-погоня.

26 голосов
/ 24 января 2014

Следуя совету здесь , вот таблица того, как все может сломаться.

|     Gem name        |   Require statement          | Main class or module  |
|:--------------------|:-----------------------------|:----------------------|
|fancy_require        |require 'fancy_require'       | FancyRequire          |
|ruby_parser          |require 'ruby_parser'         | RubyParser            |
|net-http-persistent  |require 'net/http/persistent' | Net::HTTP::Persistent |
|rdoc-data            |require 'rdoc/data'           | RDoc::Data            |
|autotest-growl       |require 'autotest/growl'      | Autotest::Growl       |
|net-http-digest_auth |require 'net/http/digest_auth'| Net::HTTP::DigestAuth |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...