Рефакторинг ASP.NET 2,0 приложения, чтобы быть более “современен” [закрытый]

5
задан 2 revs, 2 users 100% 9 February 2017 в 15:54
поделиться

4 ответа

Вы пропустили первый шаг, который я бы сделал:

Анализ затрат и выгод

Рефакторинг приложения, потому что вы считаете его старым, - это не веская причина. Он все еще работает (я предполагаю, что к этому моменту достаточно надежно), и ваша компания уже вложила много времени и денег в код.

Вероятно, у вас также есть команда разработчиков, знакомых с .NET 2.0 и WebForms, тогда как многие могут не понимать концепции / код, которые вы пытаетесь ввести.

Прежде чем что-либо менять, выясните, сколько денег вложено, сколько денег вы собираетесь потратить на свои изменения и сколько денег это сэкономит в будущем ...

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

6
ответ дан 13 December 2019 в 19:24
поделиться
  1. Убедитесь, что у вас есть полный набор тестов для покрытия существующего кода, прежде чем вы начнете его разбирать.
  2. Напишите новые функции, используя ваши новые методы.
  3. Обновите старый код новыми методами, если он нуждается в модификации из-за запроса функции.
  4. Выполните рефакторинг старого кода, который не требует изменений, только если вам скучно и нет новых функций для написания.
4
ответ дан 13 December 2019 в 19:24
поделиться

Я согласен с другими плакатами, не переписывайте, если вы не можете продемонстрировать преимущества экономии затрат.

Что вы могли бы сделать, так это написать новые области системы, используя, например, entity framework, MVC и jQuery, потому что разница будет прозрачна для пользователей браузера. Со временем вы сможете постепенно перемещать унаследованный код по мере выполнения обновлений / улучшений.

Также всегда проще внедрять новые технологии в новый системный код, чем переносить существующий код.

0
ответ дан 13 December 2019 в 19:24
поделиться

Хотя это может показаться заманчивым, я лично не стал бы вносить эти серьезные изменения в архитектуру приложения, если они не удовлетворяют конкретным требованиям пользователя. Простое внедрение их для улучшения приложения с точки зрения удобства сопровождения звучит как большой риск. Вы можете пройти 60% и столкнуться с серьезными проблемами при интеграции одного из этих изменений с остальной частью унаследованного приложения. Похоже, вам почти придется полностью переписать приложение, чтобы все соответствовало новой архитектуре. Вы можете потратить много времени на перезапись и обнаружить, что ремонтопригодность только немного улучшилась, так что возврат времени, затраченного на перезапись, займет много времени.

Если бы он был действительно плохо написан или был написан на устаревшем языке, таком как VB6, я бы лично сказал, что он был бы кандидатом на серьезное переписывание. Однако .NET 2.0 - очень способный язык, и для многих приложений он не ограничен. Судя по вашему описанию, приложение довольно хорошо спроектировано как есть. На самом деле он имеет уровень доступа к данным, бизнес-объекты и в некотором роде многоуровневый. Это звучит как довольно хорошее приложение, учитывая, что вы можете идентифицировать эти атрибуты. Считайте себя удачливым, потому что это не какое-то приложение, в котором такой беспорядок, что вы не можете выделить что-либо, напоминающее конкретный шаблон дизайна.

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

1
ответ дан 13 December 2019 в 19:24
поделиться
Другие вопросы по тегам:

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