Bird
Raised Fist0
Rubyprogramming~5 mins

Ruby style guide essentials

Choose your learning style10 modes available
Introduction

Good style helps your code stay neat and easy to read. It makes working with others simpler and avoids confusion.

When writing Ruby code that others will read or maintain
When working on a team project to keep code consistent
When learning Ruby to build good habits early
When preparing code for sharing or publishing
When debugging to quickly understand what the code does
Syntax
Ruby
# Use 2 spaces for indentation
# Use snake_case for variable and method names
# Use CamelCase for class and module names
# Use meaningful names
# Use single quotes for simple strings, double quotes if you need interpolation
# End lines without semicolons

class MyClass
  def my_method
    message = 'Hello, world!'
    puts message
  end
end

Indentation is always 2 spaces, never tabs.

Keep lines under 80 characters for readability.

Examples
Method names use snake_case. Double quotes allow inserting variables inside strings.
Ruby
def greet_user(name)
  puts "Hello, #{name}!"
end
Class names use CamelCase. Use attr_accessor to create getter and setter methods.
Ruby
class UserProfile
  attr_accessor :name, :age
end
Variables use snake_case. Single quotes are fine when no variable inside string.
Ruby
user_name = 'alice'
puts 'Welcome, ' + user_name
Sample Program

This program defines a class with a method to greet a user by name. It shows proper naming and string use.

Ruby
class Greeter
  def initialize(name)
    @name = name
  end

  def greet
    puts "Hello, #{@name}!"
  end
end

greeter = Greeter.new('Bob')
greeter.greet
OutputSuccess
Important Notes

Always use meaningful names to make your code self-explanatory.

Avoid trailing whitespace at the end of lines.

Use empty lines to separate logical sections of code for clarity.

Summary

Use 2 spaces for indentation and snake_case for variables and methods.

Use CamelCase for classes and modules.

Choose single or double quotes based on whether you need string interpolation.

Practice

(1/5)
1. According to the Ruby style guide essentials, which naming convention should you use for method names?
easy
A. snake_case
B. CamelCase
C. kebab-case
D. PascalCase

Solution

  1. Step 1: Understand method naming conventions

    Ruby style guide recommends using snake_case for method names to improve readability.
  2. Step 2: Compare options with style guide

    CamelCase and PascalCase are used for classes and modules, not methods.
  3. Final Answer:

    snake_case -> Option A
  4. Quick Check:

    Method names use snake_case [OK]
Hint: Methods and variables use snake_case, classes use CamelCase [OK]
Common Mistakes:
  • Using CamelCase for method names
  • Using kebab-case which is invalid in Ruby
  • Confusing class naming with method naming
2. Which of the following is the correct way to indent Ruby code according to the style guide?
easy
A. 2 spaces
B. 4 spaces
C. 1 tab
D. No indentation

Solution

  1. Step 1: Recall indentation rules

    The Ruby style guide specifies using 2 spaces for indentation to keep code clean and consistent.
  2. Step 2: Evaluate options

    4 spaces and tabs are common in other languages but not recommended in Ruby style guide.
  3. Final Answer:

    2 spaces -> Option A
  4. Quick Check:

    Indent with 2 spaces [OK]
Hint: Always indent Ruby code with 2 spaces, never tabs [OK]
Common Mistakes:
  • Using tabs instead of spaces
  • Using 4 spaces like in Python or JavaScript
  • No indentation causing unreadable code
3. What will be the output of the following Ruby code?
class MyClass
  def greet
    name = 'Alice'
    puts "Hello, #{name}!"
  end
end

obj = MyClass.new
obj.greet
medium
A. SyntaxError
B. Hello, #{name}!
C. Hello, name!
D. Hello, Alice!

Solution

  1. Step 1: Understand string interpolation

    Double quotes allow #{name} to be replaced by the variable's value, which is 'Alice'.
  2. Step 2: Trace method call and output

    Calling greet prints "Hello, Alice!" to the console.
  3. Final Answer:

    Hello, Alice! -> Option D
  4. Quick Check:

    Double quotes enable interpolation = Hello, Alice! [OK]
Hint: Double quotes allow #{var} interpolation, single quotes do not [OK]
Common Mistakes:
  • Using single quotes expecting interpolation
  • Confusing variable name with string literal
  • Expecting syntax error from interpolation
4. Identify the style error in the following Ruby code snippet:
class my_class
  def say_hello
    puts 'Hello world'
  end
end
medium
A. Class name should be snake_case
B. Method name should be CamelCase
C. Class name should be CamelCase
D. String should use double quotes

Solution

  1. Step 1: Check class naming conventions

    Ruby style guide requires class names to use CamelCase, not snake_case.
  2. Step 2: Verify method and string style

    Method name is correctly snake_case; single quotes are allowed if no interpolation needed.
  3. Final Answer:

    Class name should be CamelCase -> Option C
  4. Quick Check:

    Classes use CamelCase [OK]
Hint: Classes and modules use CamelCase, not snake_case [OK]
Common Mistakes:
  • Using snake_case for class names
  • Changing method names to CamelCase incorrectly
  • Forcing double quotes when not needed
5. You want to define a Ruby method that returns a greeting with a name variable. Which style is best according to the Ruby style guide essentials?
def greetUser(name)
  return 'Hello, ' + name + '!'
end
hard
A. def greetUser(name) "Hello, #{name}!" end
B. def greet_user(name) "Hello, #{name}!" end
C. def greet_user(name) 'Hello, ' + name + '!' end
D. def greetUser(name) 'Hello, ' + name + '!' end

Solution

  1. Step 1: Apply method naming conventions

    Method names should use snake_case, so greet_user is correct.
  2. Step 2: Use string interpolation with double quotes

    Double quotes allow cleaner string interpolation instead of concatenation.
  3. Final Answer:

    def greet_user(name) "Hello, #{name}!" end -> Option B
  4. Quick Check:

    snake_case + interpolation = def greet_user(name) "Hello, #{name}!" end [OK]
Hint: Use snake_case for methods and double quotes for interpolation [OK]
Common Mistakes:
  • Using CamelCase for method names
  • Using single quotes with interpolation expecting it to work
  • Concatenating strings instead of interpolation
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard