Bird
Raised Fist0
Rubyprogramming~20 mins

Why conventions matter in Ruby - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ruby Conventions Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of method naming convention in Ruby
What will be the output of this Ruby code that follows the naming convention for predicate methods?
Ruby
def valid?
  true
end

puts valid?
Anil
Bfalse
CSyntaxError
Dtrue
Attempts:
2 left
💡 Hint
Predicate methods in Ruby usually end with a question mark and return true or false.
🧠 Conceptual
intermediate
1:30remaining
Why follow Ruby conventions for variable names?
Why is it important to follow Ruby conventions for variable names, such as using snake_case?
AIt prevents syntax errors in Ruby.
BIt ensures code readability and consistency across Ruby projects.
CIt makes the code run faster.
DIt automatically documents the code.
Attempts:
2 left
💡 Hint
Think about how other programmers read your code.
🔧 Debug
advanced
2:00remaining
Identify the error caused by ignoring Ruby method naming conventions
What error will this Ruby code produce and why?
Ruby
def CalculateSum(a, b)
  a + b
end

puts CalculateSum(3, 4)
ANo error; outputs 7
BNameError because method names should be snake_case
CSyntaxError due to capital letters in method name
DArgumentError because of wrong method definition
Attempts:
2 left
💡 Hint
Ruby allows method names with capital letters but it is not a convention.
❓ Predict Output
advanced
2:00remaining
Effect of ignoring Ruby constant naming conventions
What will be the output of this Ruby code that ignores constant naming conventions?
Ruby
Pi = 3.14
puts Pi
Pi = 3.14159
puts Pi
ASyntaxError due to reassignment of constant
B3.14\n3.14159
CRuntime warning and outputs 3.14\n3.14159
D3.14\n3.14
Attempts:
2 left
💡 Hint
Ruby allows reassignment of constants but warns you.
🧠 Conceptual
expert
2:30remaining
Why do Ruby developers prefer convention over configuration?
Why is the principle of 'convention over configuration' important in Ruby development?
AIt reduces the number of decisions developers must make, speeding up development.
BIt forces developers to write more configuration files.
CIt makes Ruby code run faster by optimizing configurations.
DIt allows developers to ignore best practices.
Attempts:
2 left
💡 Hint
Think about how conventions help avoid repetitive setup.

Practice

(1/5)
1. Why is it important to follow naming conventions like snake_case for methods and variables in Ruby?
easy
A. It automatically documents the code.
B. It makes the code easier to read and understand for everyone.
C. It prevents syntax errors.
D. It makes the program run faster.

Solution

  1. Step 1: Understand the purpose of naming conventions

    Naming conventions like snake_case are designed to make code consistent and readable.
  2. Step 2: Identify the benefit of readability

    Readable code helps both the original coder and others who read or maintain the code later.
  3. Final Answer:

    It makes the code easier to read and understand for everyone. -> Option B
  4. Quick Check:

    Readability = It makes the code easier to read and understand for everyone. [OK]
Hint: Think about what helps you read code easily [OK]
Common Mistakes:
  • Confusing speed with readability
  • Thinking conventions fix syntax errors
  • Assuming conventions auto-document code
2. Which of the following is the correct way to name a Ruby class according to conventions?
easy
A. MyClass
B. my_class
C. myClass
D. MY_CLASS

Solution

  1. Step 1: Recall Ruby class naming conventions

    Ruby classes use CamelCase starting with a capital letter.
  2. Step 2: Match options to convention

    Only 'MyClass' follows CamelCase correctly.
  3. Final Answer:

    MyClass -> Option A
  4. Quick Check:

    Class names = CamelCase = MyClass [OK]
Hint: Classes use CapitalizedCamelCase, not snake_case [OK]
Common Mistakes:
  • Using snake_case for classes
  • Starting class names with lowercase letters
  • Using all uppercase letters for classes
3. What will be the output of this Ruby code?
def my_method
  puts "Hello"
end

MyMethod()
medium
A. NoMethodError
B. SyntaxError
C. Hello
D. nil

Solution

  1. Step 1: Check method definition and call

    The method is defined as 'my_method' (snake_case), but called as 'MyMethod' (CamelCase).
  2. Step 2: Understand Ruby method name case sensitivity

    Ruby method names are case sensitive, so 'MyMethod' is not recognized.
  3. Final Answer:

    NoMethodError -> Option A
  4. Quick Check:

    Case sensitivity causes NoMethodError [OK]
Hint: Method names are case sensitive in Ruby [OK]
Common Mistakes:
  • Ignoring case sensitivity in method calls
  • Expecting automatic method name correction
  • Confusing method names with class names
4. Identify the error in this Ruby code snippet:
class myclass
  def initialize
    @name = "Ruby"
  end
end
medium
A. Class keyword should be lowercase.
B. Instance variable @name is not allowed.
C. Missing parentheses in initialize method.
D. Class name should be in CamelCase, not lowercase.

Solution

  1. Step 1: Check class naming convention

    Ruby classes must be named using CamelCase starting with a capital letter.
  2. Step 2: Identify the incorrect class name

    'myclass' is all lowercase, which breaks convention and can cause confusion.
  3. Final Answer:

    Class name should be in CamelCase, not lowercase. -> Option D
  4. Quick Check:

    Class names = CamelCase = Class name should be in CamelCase, not lowercase. [OK]
Hint: Class names always start with a capital letter [OK]
Common Mistakes:
  • Using lowercase for class names
  • Thinking instance variables are invalid
  • Believing parentheses are mandatory for initialize
5. You have a team project in Ruby. Why should you all agree to use snake_case for method names and CamelCase for classes consistently?
hard
A. To ensure the code runs faster on all machines.
B. To make the code look fancy and unique.
C. To improve collaboration by making code easy to read and maintain.
D. To avoid writing comments in the code.

Solution

  1. Step 1: Understand team coding conventions

    Consistent naming helps everyone read and understand code quickly.
  2. Step 2: Recognize collaboration benefits

    When all follow the same style, it reduces confusion and errors during teamwork.
  3. Final Answer:

    To improve collaboration by making code easy to read and maintain. -> Option C
  4. Quick Check:

    Collaboration needs consistency = To improve collaboration by making code easy to read and maintain. [OK]
Hint: Consistent style helps teams work smoothly together [OK]
Common Mistakes:
  • Thinking conventions affect speed
  • Believing style is for decoration only
  • Assuming comments replace conventions
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