Ruby中的标准文件命名约定

49 ruby file conventions naming-conventions

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

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

或其他一些变化?

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

Dan*_*ley 44

只使用Ruby(即不是Rails),命名只是一种约定.在Rails中,使用下划线的惯例是必要的(几乎).

我想约定#2 lowercase_and_underscore.rb是比较常见的,看起来还不错,但文章在这里lowercasenounderscore.rb的是Ruby的约定.

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

  • 你为`lowercasenounderscore.rb`引用的那篇文章已经过时了,我还没有看到其他人声称这是大会.下划线几乎普遍是标准. (9认同)
  • 来自Ruby Gems的单词是使用下划线(也称为盒子切割或蛇)作为文件名,以及Gem名称:[Consistent Naming](http://guides.rubygems.org/patterns/#consistent-naming). (6认同)

Chr*_*ssl 7

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


Pis*_*tos 7

我个人认为连字符作为单词分隔符一般会带来最大的可读性和可打字性,因此我建议尽可能使用(在某些情况下,不能使用连字符,例如在大多数语言中使用标识符).需要记住的一件重要事情是,您选择的方案将影响用户将与您的lib一起使用的require语句,并且您希望避免使用与库名称不同的gem名称.

# gem install my_cool_lib
require 'my-cool-lib'

# gem install MyCoolLib
require 'my_cool_lib'
Run Code Online (Sandbox Code Playgroud)
# gem install my_cool_lib
require 'my_cool_lib'

# gem install my-cool-lib
require 'my-cool-lib'
Run Code Online (Sandbox Code Playgroud)

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


Mik*_*ike 5

my-proj
??? README
??? lib
?   ??? some_cool_class.rb
??? test
    ??? some_cool_class_test.rb
Run Code Online (Sandbox Code Playgroud)