Ruby中的标准文件命名约定

时间:2008-10-21 09:44:00

标签: ruby file naming-conventions conventions

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

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

或其他一些变体?

我注意到在Ruby stdlib中使用了版本1,2和3。

4 个答案:

答案 0 :(得分:43)

只有Ruby(即不是Rails),命名只是一种约定。在Rails中,convention使用下划线是必要的(差不多)。

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

选择哪种常规更为常见,或者您喜欢哪种常规。最重要的是在项目中保持一致

答案 1 :(得分:7)

我建议使用带下划线的小写字符(问题中的数字2)。确实,这个命名方案是Rails中的约定,在非Rails项目中不是必需的。但是,我仍然坚持使用Rails约定,因为大多数Ruby程序员可能仍然专门为Rails使用Ruby。

答案 2 :(得分:6)

我个人认为连字符作为单词分隔符一般会提高可读性和可打字性,因此我建议尽可能使用(在某些情况下,不能使用连字符,例如在大多数语言中使用标识符)。需要记住的一件重要事情是,您选择的方案将影响用户将与您的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'

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

答案 3 :(得分:3)

my-proj
├── README
├── lib
│   └── some_cool_class.rb
└── test
    └── some_cool_class_test.rb