55

特定のクラス SomeCoolClass を含むファイルの場合、適切または標準的なファイル名は何ですか?

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

または他のバリエーション?

Ruby stdlib では、バージョン 1、2、および 3 が使用されていることに気付きました。

4

4 に答える 4

50

Ruby (つまり、Rails ではない) だけでは、命名は慣例にすぎません。Railsでは、アンダースコアを使用する規則が (ほぼ) 必要です。

lowercase_and_underscore.rb規則 #2はより一般的で、かなり良さそうだと思います が、 Herelowercasenounderscore.rbの記事では Ruby 規則について述べています。

どちらの慣習がより一般的か、またはより好きな慣習を選択してください。最も重要なことは、プロジェクト内で一貫性を保つことです。

于 2008-10-21T10:25:28.043 に答える
9

個人的には、単語の区切りとしてハイフンを使用すると、一般的に読みやすさと入力のしやすさが最大になると思うので、可能な場合は使用することをお勧めします (ほとんどの言語の識別子など、一部のコンテキストではハイフンを使用できません)。心に留めておくべき重要な点の 1 つは、選択するスキームは、ユーザーが lib で使用する require ステートメントに影響を与えることであり、ライブラリ名と異なる gem 名を持たないようにすることです。

悪い
# gem install my_cool_lib
require 'my-cool-lib'

# gem install MyCoolLib
require 'my_cool_lib'
良い
# gem install my_cool_lib
require 'my_cool_lib'

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

残念ながら、ごく少数のライブラリがこの単純なユーザビリティ ルールに違反しています。それらのライブラリの1つにならないでください。:)

于 2008-10-21T14:53:10.327 に答える
6

アンダースコア付きの小文字をお勧めします(質問の2番目)。この命名スキームはRailsの慣例であり、Rails以外のプロジェクトでは必要ないのは事実です。ただし、ほとんどのRubyプログラマーはおそらくRails専用にRubyを使用しているので、私はRailsの規則に固執します。

于 2008-10-21T11:07:34.293 に答える
5
my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb
于 2013-03-05T11:11:33.493 に答える