Здравствуйте, Mr.Delphist, Вы писали:
MD>При старте проекта утверждается дефолтный инструментарий, на котором должна быть обеспечена собираемость.
MD>Грубый пример: если мы говорим, что базовым IDE проекта будет Visual Studio 6, то стройными рядами в лес отправятся как адепты свежайших VS20xx, так и гики Эклипса и командной строки, если их жизнедеятельность будет порождать подобные кейсы.
Вы судите со своей колокольни. Ни одна ява-IDE не предполагает жесткой завязки на версию самого языка или получаемого байт-кода. Максимум — старая IDE может не знать о нововведениях, и это решается обновлением IDE.
MD>Кейс А:
MD>- Вася, привет
MD>- Привет
MD>- Вась, тут беда с твоим коммитом — шестерка отказывается компилить файл, хотя внешне выглядит нормально
MD>- А, понятно! Когда ж вы тоже на последнюю студию перейдёте — там юникод полностью поддерживается
MD>- Перейдем, как Заказчик одобрит бюджет на лицензии. А пока — откатываем тебя, полностью.
Значит надо обговорить версию языка и SDK, которые должны использоваться при разработке. Если Visual Studio имеет прямую зависимость от одной конкретной версии языка... То я даже не знаю, что сказать. Нет такого на яве.
MD>Кейс Б:
MD>- Коля
MD>- Ась?
MD>- Глянул твой вчерашний коммит. Там же ревью кода делать нереально — форматирование по каждому файлу переколбашено.
MD>- Ну, у меня Эклипс. Это он автоматом так.
MD>- Коля, откатываем. Нам ещё мержиться с двумя бранчами — давай формат не будем трогать.
Причем тут IDE? Во всех по умолчанию используется code style, рекомендуемый ведущим собаководом. Если хочется чего-то другого, то это обговаривается и каждый сам себе настраивает.
MD>Кейс В:
MD>- Петя, салют. У меня опять плохие новости.
MD>- Откатываете?
MD>- Угадал
Опять ты свой батничек поправил, а проекты Студии забыл
MD>- Ты ж знаешь, я привык, у меня мейк настроен как надо, собирается в одно касание всё, удо...
MD>- Петя, удобно. Тебе. Откатываем.
Именно для этого существуют сборщики проектов.
Хранить в VCS файлы проектов конкретной IDE — никому ненужный геморрой. В любом случае у каждого несколько свое окружение. Я люблю проекты держать в \Donz\Projects. Кто-то в другом месте. Уже имеем не совпадение путей. У меня JDK по одному пути, у остальных по-другому. У меня сторонние утилиты лежат в одном каталоге, у Васи вообще берутся с расшаренной папки на сервере. Каждый коммит будет содержать никому ненужные конкретно твои особенности окружения.
Соответственно, каждый программист должен быть в состоянии настроить выбранную IDE.