Действительно ли IDE должен спроектировать файлы быть подвергнутым управлению исходным кодом?

Это может свестись к мнению: Я задаюсь вопросом, должны ли файлы проекта (файлы, сгенерированные и используемые IDE а не компилятором), быть включены в репозитории управления исходным кодом. Есть ли определенные случаи, где они должны, и не был должен?

Править: Я должен упомянуть, что причина, которую я спрашиваю, состоит в том, потому что я смотрю на некоторые списки файлов, которые будут проигнорированы мерзавцем при использовании Visual Studio - некоторые из этих списков имеют файлы проекта, и некоторые не делают.

11
задан DixonD 4 August 2010 в 08:23
поделиться

12 ответов

Один простой вопрос: нужны ли вам они для построения кода? Если нет, то это артефакты, а не исходные файлы, и им не место в системе управления версиями.

Такие вещи, как настройки цвета вашего редактора или сочетания клавиш, не являются частью системы сборки. Флаги компилятора и так далее.

Мы храним все , что необходимо для сборки, вплоть до установочных дисков операционной системы и необходимой конфигурации. Anal-retentive даже близко не подходит для того, чтобы описать нас :-) Если бы мы могли хранить оборудование, мы бы это сделали (мы должны ограничиться хранением документа с подробными характеристиками оборудования).

Мы также время от времени тестируем нашу способность создавать среду разработки с нуля, используя только то, что хранится в репозиториях. Отказ означает, что мы не защищены с точки зрения аварийного восстановления.

14
ответ дан 3 December 2019 в 03:17
поделиться

Мне проще и логичнее включать файлы проекта в репозитории, поскольку они являются частью самого проекта . Изменения проекта, файлы проекта тоже.

Когда вам нужно вернуть весь проект в предыдущее состояние или пригласить кого-нибудь, чтобы он работал над проектом, гораздо удобнее иметь каждый файл . Не только исходный код.

Между прочим, большинство IDE включают файлы проекта в репозитории, и будет слишком болезненно исключить их, сохранив при этом возможность регистрации и возврата из самой IDE.

6
ответ дан 3 December 2019 в 03:17
поделиться

Если вы работаете с другими разработчиками, а они не используют другие IDE или другие версии IDE, файлы проектов IDE не будут одинаковыми. Я думаю, что файлы проектов IDE не должны помещаться под контроль исходного кода.

2
ответ дан 3 December 2019 в 03:17
поделиться

Если у вас есть специальные скрипты сборки, это может потребоваться IDE для сборки вашего проекта. К тому же, если вы делаете новую проверку, неужели вы хотите каждый раз настраивать все параметры сборки проекта и т.д.?

.
2
ответ дан 3 December 2019 в 03:17
поделиться

Как правило, файлы проекта должны контролироваться по версиям, но файлы предпочтений пользователя должны игнорироваться.

Например, при использовании Visual Studio, файлы '.proj' и '.sln' должны контролироваться по версиям, но '.suo' должны игнорироваться.

2
ответ дан 3 December 2019 в 03:17
поделиться
  • держать под контролем версий все файлы проекта, необходимые для сборки проекта
  • , избегайте добавления производных (например, ctags и всех файлов, которые вы можете сгенерировать)
1
ответ дан 3 December 2019 в 03:17
поделиться

Я думаю, что для .NET файлы проекта должны быть включены в репозитории системы контроля версий. В C # и VB именно файл проекта определяет, какие исходные файлы являются частью сборки. Если вы добавляете исходный файл в проект и не имеете файла проекта в системе управления версиями, все остальные разработчики в группе должны вручную добавить файл в СВОЙ проект.

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

1
ответ дан 3 December 2019 в 03:17
поделиться

Мы используем Eclipse, и единственный файл, который мы регистрируем, - это файл .classpath, чтобы любые изменения пути к классам не нарушали сборку при обновлении.

0
ответ дан 3 December 2019 в 03:17
поделиться

Файлы проекта, содержащие инструкции по сборке, обязательно должны находиться под контролем источника. Вы же не хотите устанавливать правильные флаги компилятора и компоновщика и путь для каждой новой проверки, не так ли?

Однако не все файлы проекта создаются одинаковыми, а некоторые являются просто «вспомогательными файлами», в которых хранятся теги или недавно открытые файлы. и так далее. Версии для них не должны быть, так как они могут отличаться для каждого разработчика.

Есть два разных преимущества от файлов проекта с управлением версиями:

  • одно упрощает разработку. Специально для новых разработчиков. Все, что вам нужно сделать, чтобы начать работу, - это оформить заказ.
  • другой - иметь воспроизводимое телосложение. Независимо от того, идет ли сборка разработчиком A или разработчиком B, конечный объект будет одинаковым. Это более важное преимущество ИМО, и это шаг к автоматизации сборки.
0
ответ дан 3 December 2019 в 03:17
поделиться

Да, я считаю, что файлы проекта IDE должны быть зафиксированы в Subversion, так как большая их часть включает конфигурации для сборки/компиляции проекта.

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

0
ответ дан 3 December 2019 в 03:17
поделиться

Я работаю в компании, которая разрабатывает и продает IDE. Вначале мы удалили все файлы проекта из пользовательских каталогов. Большинство людей были довольны этим путем. Но время от времени кто-то спрашивал, возможно ли это, потому что они хотели работать также из своей домашней системы и использовать контроль версий в качестве утилиты для быстрой передачи файлов, синхронизирующей работу и домашнее место.

Могу вам сказать, что выполнить эту просьбу было непросто!

Настройки должны быть четко разделены, например, если ваша IDE хранит координаты окон в файле настроек, и вы работаете в системе с двумя мониторами на работе, а дома - в маленьком ноутбуке, это действительно плохо. IDE также должна обеспечивать способ обработки расширения переменных среды в каждом пути к файлу. И, наконец, конечно, он должен иметь возможность давать файлам настроек индивидуальные имена или хранить их в разных местах - иначе вы скоро обнаружите, что 3 разных разработчика проекта имеют 5 разных мнений о шрифтах, цветах, значениях по умолчанию и т. Д., Потому что если это сделано не очень хорошо, они все будут использовать одни и те же настройки.

С другой стороны, многие IDE имеют огромные объемы данных для хранения, некоторые из них даже хранят примеры модульных тестов с графическим интерфейсом пользователя в настройках проекта. В этом случае, конечно, полезно повторно использовать файлы и зарегистрировать их в системе контроля версий.

Как видите, это зависит от обстоятельств. Попробуйте и посмотрите, как это работает в вашей среде.

0
ответ дан 3 December 2019 в 03:17
поделиться

Не уверен, упоминалось ли это, но Visual Studio (по крайней мере, версия C ++) создает два файла проекта:

  1. Общий файл проекта, содержащий структуру, и параметры сборки. Это необходимо для сборки с VS.
  2. Пользовательский файл проекта (обычно заканчивается именем пользователя и компьютера). Он не требуется для сборки, поэтому мы не включаем его в систему управления версиями.
0
ответ дан 3 December 2019 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: