Мы начинаем некоторую работу по разработке большого портлета с использованием Liferay, и мне трудно структурировать этот проект с точки зрения различных портлетов, которые мы создаем. Мы не уверены, каким образом мы должны структурировать наш проект. У нас есть команда разработчиков по всему миру, и мы используем git в качестве репозитория версий. Мы используем Spring Portlet MVC для разработки портлетов и построитель служб для уровня обслуживания.
Я могу думать об этих трех подходах.
Создайте новый проект портлета для каждого портлета
- Keeping each portlet in a separate portlet project can be easy and fast in development since I can have developers independently working on them.
- Это может стать проблемой в тех случаях, когда портлеты используют общий код. Таким образом, в разных портлетах может быть большое количество кода одного и того же типа.
- Это может выйти из-под контроля, поскольку у нас будет много файлов войны, и каждый из них увеличивает затраты времени выполнения.
Логически разделить портлеты на несколько проектов портлетов
- This will reduce the number of portlet projects and lot of code can be reused.
- В такую структуру можно поместить некоторый контроль.
Создайте только один проект портлета со всеми портлетами
- This will be most complicated to manage for distributed developer team.
- Большую часть общего кода можно использовать повторно.
- В этом случае проще обеспечить согласованность.
Сочетание 1 и 2 (на основе моего обсуждения с Дирком в комментариях ниже) Я думаю, этот подход должен сочетать 1 и 2.
- I would want to give each developer a independent portlet dev env along with some guidelines on common components.
- Таким образом, они получают больший контроль над кодом своего портлета и сосредотачиваются только на коде конкретного портлета.
- В то же время общий код может потребовать большего контроля, поскольку его могут изменять несколько человек.
Хотелось бы узнать ваше экспертное мнение, создавали ли вы уже проекты / портлеты liferay и какой подход вы выбрали. Помня об этом
- Как вы управляете разработкой портлетов, когда несколько портлетов разрабатываются разными разработчиками.
- Каковы плюсы / минусы любого из вышеперечисленных подходов.
- Если ни один из вышеперечисленных подходов не подходит, укажите лучший подход, который вы можете придумать.
Спасибо за чтение