Collezioni

  • Utilizzare la notazione letterale per la creazione di array e hash, a meno che non sia necessario passare parametri ai loro costruttori.

# bad
arr = Array.new
hash = Hash.new

# good
arr = []
hash = {}
  • Preferire la sintassi dell'array estesa rispetto a %w o %i.

# bad
STATES = %w(draft open closed)

# good
STATES = ["draft", "open", "closed"]
  • Aggiunge una virgola finale nei letterali di raccolta multilinea.

# bad
{
  foo: :bar,
  baz: :toto
}

# good
{
  foo: :bar,
  baz: :toto,
}
  • Quando si accede al primo o all'ultimo elemento di un array, preferire first o last a [0] o [-1].

  • Evitare oggetti mutabili come chiavi di hash.

  • Usare una sintassi hash abbreviata quando tutte le chiavi sono simboli.

  • Preferire la arrow syntax per gli hash a quella abbreviata quando non tutte le chiavi sono simboli.

  • Preferire Hash#key? a Hash#has_key?.

  • Preferire Hash#value? a Hash#has_value?.

  • Usare Hash#fetch quando si tratta di chiavi hash che dovrebbero essere presenti.

  • Introdurre valori predefiniti per le chiavi hash tramite Hash#fetch, invece di usare una logica personalizzata.

  • Collocare ] e } sulla riga dopo l'ultimo elemento quando la parentesi graffa di apertura si trova su una riga separata dal primo elemento.

Last updated

Was this helpful?