Ruby Style and Project Organization
Naming Conventions
Ruby style uses readable names that describe the role of each value.
naming
Use `snake_case` for local variables and methods, and let names explain what the data means.
Naming Conventions
naming_conventions.rb
Replay: real traced execution (multi-file project)
user_name = "Ada"
score_total = 42
attempt_count = 3
average_score = score_total / attempt_count
label = "#{user_name}: #{average_score}"
puts "user_name=#{user_name}"
puts "score_total=#{score_total}"
puts "attempt_count=#{attempt_count}"
puts "average_score=#{average_score}"
puts "label=#{label}"
user_name = "Grace"
score_total = 42
attempt_count = 3
average_score = score_total / attempt_count
label = "#{user_name}: #{average_score}"
puts "user_name=#{user_name}"
puts "score_total=#{score_total}"
puts "attempt_count=#{attempt_count}"
puts "average_score=#{average_score}"
puts "label=#{label}"
user_name = "Matz"
score_total = 42
attempt_count = 3
average_score = score_total / attempt_count
label = "#{user_name}: #{average_score}"
puts "user_name=#{user_name}"
puts "score_total=#{score_total}"
puts "attempt_count=#{attempt_count}"
puts "average_score=#{average_score}"
puts "label=#{label}"
user_name ← Ada, score_total ← 42, attempt_count ← 3, average_score ← 14
1user_name→ Ada = "Ada" #@user_name="Grace", "Matz"2score_total→ 42 = 423attempt_count→ 3 = 34average_score→ 14 = score_total42 / attempt_count35label→ Ada: 14 = "#{user_nameAda}: #{average_score14}"67puts "user_name=#{user_nameAda}"8puts "score_total=#{score_total42}"9puts "attempt_count=#{attempt_count3}"10puts "average_score=#{average_score14}"11puts "label=#{labelAda: 14}"outputuser_name=Ada score_total=42 attempt_count=3 average_score=14 label=Ada: 14
user_name ← Grace, score_total ← 42, attempt_count ← 3, average_score ← 14
1user_name→ Grace = "Grace"2score_total→ 42 = 423attempt_count→ 3 = 34average_score→ 14 = score_total42 / attempt_count35label→ Grace: 14 = "#{user_nameGrace}: #{average_score14}"67puts "user_name=#{user_nameGrace}"8puts "score_total=#{score_total42}"9puts "attempt_count=#{attempt_count3}"10puts "average_score=#{average_score14}"11puts "label=#{labelGrace: 14}"outputuser_name=Grace score_total=42 attempt_count=3 average_score=14 label=Grace: 14
user_name ← Matz, score_total ← 42, attempt_count ← 3, average_score ← 14
1user_name→ Matz = "Matz"2score_total→ 42 = 423attempt_count→ 3 = 34average_score→ 14 = score_total42 / attempt_count35label→ Matz: 14 = "#{user_nameMatz}: #{average_score14}"67puts "user_name=#{user_nameMatz}"8puts "score_total=#{score_total42}"9puts "attempt_count=#{attempt_count3}"10puts "average_score=#{average_score14}"11puts "label=#{labelMatz: 14}"outputuser_name=Matz score_total=42 attempt_count=3 average_score=14 label=Matz: 14