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 
    Interesting Posts