使用CamelCase命名Ruby Constants是不好的风格?

时间:2011-06-27 17:12:28

标签: ruby coding-style

大多数Ruby常量遵循具有全部大写的C约定。

但是使用CamelCase命名Ruby常量是否合法?我只是认为以这种方式输入更容易,因为我的Caps Lock被重新映射为CTRL。

3 个答案:

答案 0 :(得分:5)

根据ruby规范,模块是常量。它背后有一种哲学,没有理由以不同的方式写出来。如果模块是用驼峰式编写的,为什么不用其他的常量呢?尽管以大写字母写作似乎占多数,但我确实以驼峰的形式写出来。另外,用upcase写的东西让我想起了Basic,Fortran等经典语言,看起来并不复杂。

ecologic指出与IDE的兼容性,但如果这会导致问题,那么这就是IDE的错误。 IDE应尽可能严格遵循语言规范,而不是人们遵循的惯例。

答案 1 :(得分:3)

嗯,您应该向团队成员询问并做出共同决定,因为您不希望在同一个项目中有两个约定。

在我看来,遵循每种语言的正确惯例总是一个好主意。我遵循我不喜欢的惯例。另外一些IDE可以不同地解释常量。

答案 2 :(得分:1)

不,它不被认为是合法的风格来命名"其他" (使用CamelCase的非类,非模块)常量。

标准Ruby实践是类和模块是CamelCase;其他常量是SCREAMING_SNAKE_CASE。

Ruby允许您将CamelCase用于其他(非类,非模块)常量,但是您会惊讶于所有读取您的代码的人。代码的目的不仅仅是与机器通信,而是与必须理解代码的任何人进行通信。因此,在这种情况下,您应该遵守广泛接受的标准。

证据

我在a google search for "ruby style guide"的第一页上找到的所有样式指南都支持我的主张SCREAMING_SNAKE_CASE是在Ruby中命名非类,非模块常量的绝大多数标准。一些引言:

  

将SCREAMING_SNAKE_CASE用于其他常量。

  

将SCREAMING_SNAKE_CASE用于其他常量。

  

常量应使用所有大写字母和下划线命名,例如

BigFatObject::MAX_SIZE
  

将SCREAMING_SNAKE_CASE用于其他常量。