2012-02-15 15 views
15

「SCM」と呼ばれるモジュールの中に「SVN」を表すクラスを作成する必要があります。しかし、私はRubyの頭文字語を扱う際の規約は何か分かりません。「Camelの場合が好ましい」を除き、Googleに関連するものは見つかりませんでした。Ruby - 命名規則 - クラス/モジュール名の頭字語の大文字小文字?

SCM::SVNまたはScm::Svnとしますか?このためのコンベンションはありますか?

+3

Rubyの規約では、[trollop](https://rubygems.org/gems/trollop)、[asset_hat](https://github.com/mintdigital/asset_hat)、またはTenpuku Google翻訳によるSubversionの日本語)。 ;-) –

+1

@マークトーマスFun fact:_tenpuku_(転覆)は「転覆」を意味する場合がありますが、一般的な使用方法は[転覆やロールオーバー]などです(https://www.google.com/search?q=%E8 %BB%A2%E8%A6%86" isch&biw = 1438&bih = 719' = bKs7T-3qDcydmQX1rri8Cw)。そして今あなたは知っている。 ;) – brymck

答えて

14

SCM::SVN私に最もよく似合います。 RailsはERB、ORM、OMFGIMATEAPOTなどのクラスでいっぱいです。 JSONSerializerなどのことは言及していません。 Rubyのソースはa bunch of acronymsです。私にとって最も明白な例はYAMLです。私が見てきたような標準はCamelCaseの手紙をアップアップすることですが、一般的にそれらをダウンケースに入れないようにしています(Railsはモデル名についての意見を持っています)。

あなたはgrepのソースコードを持っている場合は、

grep -r 'class [A-Z]\{3,\}' <path/to/source> 
# or, if you only want acronyms and nothing like YAMLColumn: 
grep -rw 'class [A-Z]\{3,\}' <path/to/source> 
+0

Rubyのソースコードをブラウズし頭字語を探すのは私には起こりませんでした。非常に賢い!私は 'SCM:SVN'を使用します。ありがとう! – kikito

3

私はSCM::SVNがより美しく見えると思うし、同じ慣習を使用するライブラリを見たことがある。それは本当にあなたが読んでいると思うものの問題です。

(ただし、あなたがRailsのプロジェクトを構築し、このモジュールは/ libディレクトリから自動ロードされるようにしたいしている場合、あなたはScm::Svnを使用する必要があることに注意してください。)

+0

Railsについての良い点。ありがとう! – kikito

15

config/initializers/inflections.rbに以下を追加します。のようなものをたくさんの例を見ることができます。

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.acronym 'SVN' 
end 

は今$ rails g model SVN…を実行すると、svn.rbという名前のファイルと関連テーブルsvnsSVNという名前のクラスを作成します。

+4

さて、私の質問は、一般的にはルビーに関するものでしたが、特にレールではありませんでしたが、あなたの答えは他の誰かを助けることができました。ありがとう! – kikito

+0

ありがとうございます。これはすべての違いになります。 inflectorに追加する前後に '' svn'.classify'を試してください。他の言語/プラットフォームでは、そのようなことはないので、自動化された方法で変換できるものを使用することは理にかなっています。しかし、能動的サポートにより、私はよりよく見えるものを書くことができます。最終的に私はRubyがさらに好きです。 –

関連する問題