Чем attr_reader, attr_writer, attr_accessor отличается от ручными getter/setter и когда что выбирать?

Ruby / RailsJuniorRuby OOP и Object ModelСравнениеruby oop и object model|attr_reader|ruby|rails|attr_readerattr_writerattr_accessor

Что хотят услышать интервьюеры:

Сравнение: «attr_reader, attr_writer, attr_accessor» обычно оценивают в паре с ручными getter/setter. Выбор зависит от читаемости, Rails conventions, стоимости поддержки, безопасности, нагрузки и тестируемости.

Ответ:

Когда выбирать attr_reader, attr_writer, attr_accessor: когда его свойства прямо решают задачу, а не просто выглядят привычно.

Плохой ответ: «так принято в Rails» без объяснения последствий.

class User attr_reader :email end

Источники

Похожие вопросы