Susan Potter
snippets: Created / Updated

Rubyisms: naming conventions

Code examples of common Ruby naming conventions
Code examples of common Ruby naming conventions

Are you a Ruby newbie lost in the labyrinth of naming conventions? Fear not, for today I shall be your guide, shedding light on the implicit and explicit naming practices that shape the Ruby universe. Brace yourself for a journey of discovery, as we unravel the secrets behind code readability and developer productivity.

ClassName and ModuleName [implicit]

Let's start with class and module names. Similar to familiar conventions in C++, Java, Python, and C#, Ruby gracefully follows suit. Behold the likes of DataMigration, CorporateConvertibleBond, and Controller, seamlessly blending with the rhythm of other languages.

variable_name and regular_method_name [implicit]

In the realm of variable names and regular methods, the harmonious tradition of underscoring reigns supreme, echoing the conventions of Perl and PHP. Delve into the elegance of String#strip, Object#instance_eval, and Array#sort_by, where code clarity dances hand in hand with seamless communication.

method_asking_a_question? [implicit]

A simple yet powerful technique emerges—suffixing a method with a ?. It whispers to clients that a boolean awaits, ready to grace conditional expressions. Feast your eyes on the majesty of Object#nil?, Hash#has_key?, and Object#frozen?, where the power of questioning is visible.

slightly_dangerous_method! [implicit]

Prepare for a twist in our symphony, as we encounter slightly dangerous side effecting methods. With a touch of audacity, a ! gracefully adorns their names, revealing their transformative nature. Witness the warning sign, the call to vigilance, as "a string".upcase! dares to change the internal state. Let this convention keep you out of trouble, and guide your team safely through the coding labyrinth.

@instance_variable [explicit]

Behold, for now we turn our attention to instance variables. As they take center stage, the @ sign claims its rightful place as a prefix. While some may draw parallels to Perl, fret not, for its usage in Ruby stands apart. Let the @ prefix be your beacon within the class, enhancing the very fabric of code readability.

$global_variable [explicit]

Now, let us traverse to the realm of global variables. Here, a new emblem emerges—the $ symbol, an explicit marker of global significance. As you venture into the world of globals, let this visual note be your guide, provoking introspection and nudging you toward refactoring and more elegant solutions.

SOME_CONSTANT or OtherConstant [kind of explicit:)]

And what about the wondrous world of constants? A gentle quirk reveals itself, as Ruby's naming conventions waltz to the beat of their own drums. Like a dynamic duet, capitalized and camel case conventions intermingle, each taking their rightful place in the grand symphony. Yet fear not, for I shall guide you on this path, favoring accessibility from modules and classes, while keeping internal constants in harmony.

In the grand finale, let us reflect on the impact of these naming conventions. They bestow upon us a gift—the gift of enhanced productivity. By embracing the expressive yet concise nature of Ruby, we unlock a world where code speaks volumes without overwhelming us with verbosity.

So, fellow Ruby developers, embrace these melodic guidelines, and let them guide your steps on the path to excellence. May the Ruby Naming Symphony continue to enchant and inspire you, creating a harmonious symphony of code that dances with grace and sings with clarity.

If you enjoyed this content, please consider sharing this link with a friend, following my GitHub, Twitter/X or LinkedIn accounts, or subscribing to my RSS feed.