Konstanten oder Klassenvariablen in Ruby?

Ich programmiere jetzt seit ein paar Monaten in Ruby und frage mich, wann es angebracht ist, Konstanten über Klassenvariablen zu verwenden und umgekehrt. (Ich arbeite in Rails und denke über Konstanten in Modellen nach.)

class Category
  TYPES = %w(listing event business).freeze
end

ODE

class Category
  @@types = %w(listing event business).freeze
  cattr_reader :types
end

Gibt es Umstände, in denen einer dem anderen vorzuziehen ist? Oder ist es nur eine Frage des Geschmacks / Stils?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage