Создание платформы независимой команды разработчиков гегемонии

9

Я работаю в компании, где у нас много разных навыков в команде разработчиков.

Мы делаем все следующее (как правило, ориентированные на веб):

  • .NET (MVC, Umbraco, ASP.NET, Surface)
  • Java (Spring, Hibernate, Android)
  • PHP (Zend, Кодовый воспламенитель)
  • Actionscript 3
  • ВОЗДУХА
  • Objective-C
  • HTML / Javascript (очевидно)

Мы пытаемся упростить процесс разработки.

В настоящее время у нас есть сервер TeamCity, который создает и развертывает проекты .NET с помощью msbuild / msdeploy / nant.

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

В настоящее время это работает на одной платформе, потому что мы склонны делать что-то стандартным образом для этой платформы (при условии участия определенных людей), однако я хочу использовать что-то вроде maven для стандартизации того, как проект спланирован и построен.

Кто-нибудь пробовал что-то подобное раньше? Опыт? Книги?

Роб Стивенсон-Леггетт
источник
Так как это будет работать? Если кому-то нужно создать веб-приложение, ему нужно будет указать язык или вы хотите, чтобы все языки использовали одну и ту же структуру, даже если она не идеальна для этого языка. Например, структурирование моих файлов javascript, как я делаю Java или C #, было бы болезненно.
Джеймс Блэк

Ответы:

3

Что касается .NET, есть три проекта для портирования Maven. Смотрите этот ответ на stackoverflow.com. Также эта статья вики может быть полезна.

Что касается других языков, я предлагаю применить ту же структуру, которую поддерживает Maven (все источники ниже src/language/mainи т. Д.), А затем либо написать плагины Maven для их построения, либо по крайней мере написать общие шаблоны «Makefile», которые поддерживают эту структуру из коробки.

Аарон Дигулла
источник
2

В настоящее время мы используем несколько языков в нашем проекте: C ++, Java, Ruby, Perl, OCaml, Shell, PHP и JavaScript. И у нас нет проблем с ними мириться. Потому что каждый компонент имеет свою структуру и структуру каталогов . Сборка склеена с простыми рекурсивными Make-файлами, обработанными GNU make. Иногда они вызывают другие системы сборки, если необходимо (например, они вызывают Ant для сборки Java-кода). Если эти системы сборки привязаны к определенной компоновке, это не проблема, потому что у каждого компонента есть свой, и он может быть настроен в соответствии с требованиями системы сборки.

Основная идея заключалась в том, чтобы держать каждый компонент отдельно от других. Внутри его каталога мы просто сохранили файлы, так как думали, что это будет полезно для этого конкретного компонента. У нас нет больших блобов, таких как src/каталоги, которые содержат, например, весь код для одного языка. Таким образом, у нас не было проблем с редактированием кода в разных компонентах.

П Швед
источник