2015-09-19 4 views
0

Я создал спокойные веб-службы. Конечные точки служб имеют аналогичную логику:Должен ли я код рефакторинга, если он скрывает поток программы?

Если проверка ввода прошла успешно, выполните операцию базы данных и верните результат.

Если операция db завершилась неудачно, верните ошибку db.

Если проверка не получится, возвращает ответ с информацией о неудачных проверках

Моего кода было явно в том смысле, вы можете прочитать код и понять поток программы.

Кооператор реорганизовал его так, чтобы этот базовый поток был реорганизован в класс утилиты, основная функция которого принимает тело запроса, операцию db и обработчики.

Теперь код не выражает поток, но основная логика реорганизуется.

Какая практика? Вы пожертвовали бы читабельностью для рефакторинга?

Да, единичный тест также будет уменьшен.

Спасибо.

+1

Предлагаю опубликовать до и после версий по адресу http://codereview.stackexchange.com/. – jaco0646

+0

Также рассмотрите определение [рефакторинг] (https://en.wikipedia.org/wiki/Code_refactoring). Не имеет смысла противопоставлять рефакторинг с удобочитаемостью. Рефакторинг не является особенностью. – jaco0646

+0

Спасибо, я разместил вопрос здесь: http://codereview.stackexchange.com/questions/105125/code-readability-vs-refactoring – ontk

ответ

0

Как вы думаете, что класс утилита, которая содержит переработан код, будет повторно использоваться во многих других подобных сценариях для операций, например,

  • подтверждения ввода,
  • работает операции с базой данных,
  • возвращая результат

Если он будет использоваться повторно в других подобных сценариях, тогда это нормально для рефакторинга.

Я думаю, что было бы лучше рефакторировать, как вы можете видеть с точки зрения основного кода, рефакторинг серверов - лучшая цель. (Если позволяет время, я думаю, вы могли бы сделать новый код также читаемым, чтобы сделать поток явным.)