В настоящее время я занимаюсь рефакторингом модели User с более чем 800 строками кода (еще несколько сотен были добавлены через миксины).В настоящее время в этой модели довольно много методов, подобных приведенным ниже, которые просто используются для определения типа пользователя на основе определенных критериев.
def is_a_manager?
# logic to determine manager
end
def is_a_teacher?
# logic to determine teacher
end
def is_a_parent?
# logic to determine parent
end
def is_a_student?
# logic to determine student
end
def is_a_coach?
# logic to determine coach
end
def is_a_employee?
# logic to determine employee
end
Каков наилучший способ рефакторинга этого кода?Должен ли я просто поставить его в беспокойство и включить его в класс?Или я должен извлечь все эти методы в отдельный класс, такой как UserIdentifier.new(user).is_teacher?
?Или этот вид рефактора совершенно не нужен?