大多数Ruby常量遵循具有全部大写的C约定。
但是使用CamelCase命名Ruby常量是否合法?我只是认为以这种方式输入更容易,因为我的Caps Lock被重新映射为CTRL。
答案 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用于其他常量。