У меня есть довольно большое (несколько MLOC) приложение, которое я хотел бы разделить на более ремонтные части. В настоящее время продукт включает около 40 проектов Eclipse, многие из которых имеют взаимозависимости. Это само по себе делает непрерывную систему сборки неосуществимой, потому что она должна будет очень сильно перестраиваться с каждой проверкой.
Есть ли способ "наилучшей практики" как
- идентифицировать части, которые могут быть немедленно разделены.
- визуальные визуализации документов
- распутать существующий код
- обрабатывать "патчи", мы должны обращаться к библиотекам (в настоящее время они обрабатываются путем помещения их в путь к классам до фактической библиотеки)
Если есть (бесплатные/открытые) инструменты для поддержки этого, я буду признателен за указатели.
Несмотря на то, что у меня нет опыта с Maven, похоже, что он очень модульный. Интересно, будет ли это то, что может быть модифицировано итеративно или если проект, который должен был его использовать, должен был быть составлен с учетом модульности с самого начала.
Редактировать 2009-07-10
Мы находимся в процессе разделения некоторых основных модулей, используя Apache Ant/Ivy. Действительно полезный и хорошо продуманный инструмент, не навязывая вам столько же, как и maven.
Я записал несколько общих деталей и личное мнение о том, почему мы делаем это в своем блоге - слишком долго, чтобы публиковать здесь и, возможно, не интересно всем, поэтому следуйте по своему усмотрению: www.danielschneller.com