Започваме известна работа по голяма разработка на портлети с помощта на Liferay и ми е трудно да структурирам този проект по отношение на различни портлети, които създаваме. Не сме сигурни по какъв начин да структурираме нашия проект. Имаме разпределен екип за разработка по целия свят и използваме git като наше хранилище за версии. Ние използваме Spring Portlet MVC за разработване на портлети и използваме конструктор на услуги за слой услуги.
Мога да помисля за тези 3 подхода.
Създайте проект за нов портлет за всеки портлет
- 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 проекти/портлети и какъв подход сте избрали. Имайки предвид тези неща
- Как контролирате разработването на портлети, когато има множество портлети, които се разработват от различни разработчици.
- Какви са плюсовете/минусите на някой от горните подходи, споменати по-горе.
- Ако нито един от гореспоменатите подходи не е добър, моля, споменете най-добрия подход за това, за който можете да се сетите.
Благодаря за четенето