Нужно ли сокращать код?
Конечно нужно, копипаста это всегда плохо, можно ошибиться при рефакторинге, добавлении новых флагов и изменении общей логики.
Нет, все просто, понятно, и главное - быстро работает. Если сократить, может пострадать быстродействие.