我創建了一個紅寶石寶石,我注意到似乎沒有(據我所知)寶石的命名約定。例如,我見過兩個:Ruby寶石命名約定
gem 'foo-bar'
gem 'foo_bar'
是否有某種明確的指導/公約對紅寶石寶石的命名?
我創建了一個紅寶石寶石,我注意到似乎沒有(據我所知)寶石的命名約定。例如,我見過兩個:Ruby寶石命名約定
gem 'foo-bar'
gem 'foo_bar'
是否有某種明確的指導/公約對紅寶石寶石的命名?
虛線版本是對其他框架的擴展,像rspec-rails
和下劃線是正常的寶石名稱的一部分,應該在你的類中駝峯格式。
所以,如果你有一個名爲foo_bar
的寶石,類/模塊應命名爲FooBar
。如果創業板應該有一個導軌擴展,船舶爲不同的寶石,它應該被稱爲foo_bar-rails
和模塊應該被稱爲FooBar::Rails
和require "foo_bar/rails"
這種約定也是什麼捆紮機試圖要求其應符合規定。
不可否認,這個約定並不總是被遵循。 jquery_rails
實際上應該是jquery-rails
和factory_girl_rails
應該叫做factory_girl-rails
。但是,嘿,並非一切都是完美的。
RubyGems的約定文檔:
這是由rubygems模式docs [here ](http://guides.rubygems.org/patterns/)。 – turboladen
[爲你的寶石命名](http://guides.rubygems.org/name-your-gem/) – rthbound
https://github.com/rails/jquery-rails;) – Volte
就自動加載機而言,其中一個優勢是將foo_bar
合併到模塊或FooBar
中。 foo-bar
沒有默認等值。
通常從require
的角度來看,下劃線版本更可取,但虛線版本的確具有更好的可讀性,因此往往會經常使用。
虛線版本更具可讀性它對我來說看起來完全錯了,在哪種語言中標識符可能會破折號? – Nemo157
@ Nemo157 - e.i.在CLIPS中。我曾經在其中編程,並且在標識符中使用破折號是一件好事。你不需要按
在@svenfuchs的建議:
https://twitter.com/svenfuchs/status/135773593526206464
但是這是真的,我仍然看到非連貫行爲,如:
gem 'my_gem`, :require => 'my-gem'
原來,這是在RubyGems的文檔非常清晰,簡潔地回答:http://guides.rubygems.org/name-your-gem/
(這可能是最近的文檔添加,因爲我記得過去搜索這個信息並沒有找到它。)
可能的重複[應該使用破折號或下劃線命名與多個單詞的寶石?](http://stackoverflow.com/questions/4687659/should-one-use-dashes-or-underscores-當命名寶石與多於一個字) –