对于包含给定类SomeCoolClass的文件,什么是正确的文件名?
1. somecoolclass.rb 2. some_cool_class.rb 3. some-cool-class.rb 4. SomeCoolClass.rb
或其他一些变体?
我注意到在Ruby stdlib中使用了版本1,2和3。
答案 0 :(得分:43)
只有Ruby(即不是Rails),命名只是一种约定。在Rails中,convention使用下划线是必要的(差不多)。
我认为约定#2 lowercase_and_underscore.rb
更常见并且看起来相当不错,尽管文章Here说lowercasenounderscore.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