Ruby naming conventions?

For instance, for constants, is it:

THIS_CONSTANT

This_Constant

ThisConstant

Or something else...?

In fact, is there any sort of (quasi|)official reference for this whole subject?

I'd also like to be able to quickly double check questions like:

  • What naming patterns are enforced by Ruby itself (eg, Constants must start with a capital, right?) and which are simply conventions (method_names should be in snake case, right?)?

  • Are there any conventions for how to write a reminder of what class a variable is supposed to be into its name? ("Hungarian notation" or whatever... I mean, I kinda got the impression that if you ever feel the need to use it in Ruby code, you're Doing It Wrong, but regardless, is there a convention?)

and so on...


The Ruby Style Guide is a public effort to recommend consistent conventions and best practices to Ruby developers. You should check it out.


In brief

The camel case for classes and modules definition we use CamelCase

The snake case for files, variables and methods: snake_case


The syntax highlighting in your text editor can give you some good clues as you're learning a language and trying to develop an instinct for its conventions, enforced and otherwise. I use the Linux Gedit editor.

Yesterday I was pleasantly surprised to find that some of the conventions for commenting recommended by The Ruby Style Guide https://github.com/bbatsov/ruby-style-guide, such as # TODO and # FIXME, show up as bold face bright yellow. Constant names with ALL CAPS are bold cyan. Of course, different editors use different color schemes.