Ruby中的标准文件命名约定
对于包含给定类SomeCoolClass的文件,什么是正确或标准的文件名?
1. somecoolclass.rb 2. some_cool_class.rb 3. some-cool-class.rb 4. SomeCoolClass.rb
或其他一些变化?
我注意到在Ruby stdlib中,使用了版本1,版本2和版本3。
只有Ruby (即不是Rails),命名只是一个约定。 在Rails中,使用下划线的约定是必要的(几乎)。
我认为约定#2 lowercase_and_underscore.rb
是更常见,看起来不错,虽然一篇文章这里说lowercasenounderscore.rb
是Ruby约定。
select哪个常规更常见,哪一个你更喜欢。 最重要的是在一个项目中保持一致 。
我会build议使用下划线的小写字母(在你的问题中的数字2)。 确实,这个命名scheme是Rails中的约定,在非Rails项目中不是必需的。 不过,我仍然坚持使用Rails约定,因为大多数Ruby程序员可能都是专门为Rails使用Ruby的。
我个人认为连字符作为分隔符可以提高可读性和总体可打字性,所以我build议在可能的情况下(在某些情况下,不能使用连字符,例如大多数语言的标识符)。 需要牢记的一件重要的事情是,你select的scheme将影响用户使用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'
不幸的是,一小部分图书馆违反了这个简单的可用性规则。 不要成为这些图书馆之一。 🙂
my-proj ├── README ├── lib │ └── some_cool_class.rb └── test └── some_cool_class_test.rb