Stringhe

  • Preferire l'interpolazione e la formattazione delle stringhe invece della concatenazione delle stringhe

# bad
email_with_name = user.name + " <" + user.email + ">"

# good
email_with_name = "#{user.name} <#{user.email}>"

# good
email_with_name = format("%s <%s>", user.name, user.email)
  • Evitare la spaziatura tra parentesi graffe nelle espressioni interpolate.

# bad
"From: #{ user.first_name }, #{ user.last_name }"

# good
"From: #{user.first_name}, #{user.last_name}"
  • Utilizzare stringhe con doppi apici.

# bad
'Just some text'
'No special chars or interpolation'

# good
"Just some text"
"No special chars or interpolation"
"Every string in #{project} uses double_quotes"
  • Evitare la sintassi letterale dei caratteri ?x.

  • Usare {} intorno alle variabili di istanza e globali che vengono interpolate in una stringa.

  • Evitare Object#to_s sugli oggetti interpolati.

  • Evitare String#gsub negli scenari in cui è possibile utilizzare un'alternativa più veloce e specializzata.

  • Quando si usano gli heredoc per le stringhe multilinea, bisogna tenere presente che essi conservano gli spazi bianchi iniziali. È buona norma utilizzare un margine in base al quale tagliare gli spazi bianchi in eccesso.

  • In Ruby 2.3, si preferisce la sintassi "squiggly heredoc", che ha la stessa semantica di strip_heredoc di Rails:

  • Indentare il contenuto di heredoc e la chiusura in base all'apertura.

Last updated

Was this helpful?