55

对于包含给定类 SomeCoolClass 的文件,正确或标准的文件名是什么?

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

或其他一些变化?

我注意到在 Ruby 标准库中,使用了版本 1、2 和 3。

4

4 回答 4

50

只有Ruby(即不是Rails),命名只是一个约定。在Rails中,使用下划线的约定是必要的(几乎)。

我认为约定 #2 lowercase_and_underscore.rb更常见并且看起来相当不错,尽管文章Herelowercasenounderscore.rb是 Ruby 约定。

选择哪个惯例更常见,或者你更喜欢哪个惯例。最重要的是在项目中保持一致

于 2008-10-21T10:25:28.043 回答
9

我个人认为连字符作为单词分隔符通常可以最大程度地提高可读性和可打字性,因此我建议在可能的情况下(在某些情况下,不能使用连字符,例如在大多数语言的标识符中)。要记住的一件重要事情是,您选择的方案将与用户将与您的 lib 一起使用的 require 语句产生影响,并且您希望避免使用与 library name 不同的 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'

不幸的是,少数库违反了这个简单的可用性规则。不要成为那些图书馆之一。:)

于 2008-10-21T14:53:10.327 回答
6

我会推荐带下划线的小写字符(你的问题中的数字 2)。确实,这种命名方案是 Rails 中的约定,在非 Rails 项目中不是必需的。但是,我仍然会坚持 Rails 约定,因为大多数 Ruby 程序员可能都将 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 回答