Методология разработки нового приложения, которое в конечном итоге будет объединено со старым приложением - PullRequest
0 голосов
/ 08 мая 2009

В настоящее время я в команде, разрабатывающей новое отдельное приложение на C #. Конечная цель - превратить это отдельное приложение в ранее разработанное более крупное приложение, которое относится к тем же процессам.

У меня такой вопрос: я ищу информацию о методологиях или процессах, которые помогают с А) Проектированием упомянутого более нового кода, особенно когда старый код не самая лучшая и наиболее поддерживаемая система, и Б) Интегрированием упомянутого более нового приложения. ,

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

EDIT: Предложенные на данный момент предложения: реструктурировать старый код, собрать новый код в качестве контейнера для модулей и охватить старый и новый код в модульных тестах, - все это хорошая практика в целом, и это то, что я практикую, когда это возможно. Однако мне кажется, что это были бы отдельные части общей методологии.

Ответы [ 3 ]

1 голос
/ 22 июня 2009

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

Когда вы разрабатываете новый код, вы должны быть особенно внимательны при создании небольших, многократно используемых компонентов в многоуровневом подходе. Конечно, в этом нет ничего особенного, хорошие программисты всегда будут пытаться это сделать, но это более важно в данном сценарии. В какой-то момент, чтобы сделать его автономным приложением, вам придется реплицировать некоторые части, уже существующие в старом приложении, например, экран входа в систему, управление рабочим процессом и т. д. Убедитесь, что вы используете эти части из старой системы повторно или сделаете новый API-интерфейс частей совместимым и отделенным от основной бизнес-логики. Сделав это, будет намного проще интегрировать новое приложение в старое.

0 голосов
/ 09 мая 2009

Фаулер рекомендует провести рефакторинг старого кода. Это займет некоторое время, но:

A) будет проще интегрировать этот код с вашим новым кодом;

B) вы и ваша команда лучше поймете старый код.

В вашем случае я бы также подумал о том, чтобы покрыть ваш код и, возможно, старый код модульными тестами.

0 голосов
/ 09 мая 2009

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

Тем не менее, если вы проектируете автономный контейнер как облегченный контейнер, в котором размещены компоненты приложения, вы фактически разрешаете перенос компонентов в более широкий контекст на более позднем этапе.

...