Лучший инструмент / метод для сохранения файлов .Resx и Designer.cs в согласованном порядке - PullRequest
4 голосов
/ 15 июля 2010

Я работаю в магазине разработки примерно с 20 другими разработчиками.Это действительно непростая задача - объединить изменения в файл Designer.cs или файл .Resx, когда 50% изменений просто связаны с изменением порядка расположения одного и того же кода в двух обновлениях.

Что делают другиеКоманды разработчиков следят за тем, чтобы эти файлы были в порядке, так что, когда два человека вносят изменения, изменения могут легко объединиться в файл без необходимости согласовывать только что перемещенные в них свойства?

Есть проект CodeProjectчто-то вроде сортировки данных перед их сравнением ... и это облегчит объединение изменений.Но это еще один шаг, который я хотел бы автоматизировать лучше.

Кто-нибудь придумал, как включить процесс сортировки / сравнения / слияния в текущую структуру в автоматизированное решение?

Я не использовал TFS, так что, возможно, они поняли это.Но я просто подумал, что увижу, есть ли у кого-нибудь хитрости?

Ответы [ 2 ]

0 голосов
/ 17 июля 2010

Моя команда использует набор таблиц базы данных и пару веб-страниц для поддержания значений и для выполнения переводов.

Затем у нас есть приложение экспорта, которое генерирует файлы resx с использованиемResXResourceWriter class, а также генерирует файлы designer.cs, вызывая инструмент resgen.exe.

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

Если вы посмотрите на некоторые из моих недавних вопросов, вы увидите, что я только недавно решил несколько проблем с этим процессом.

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

0 голосов
/ 15 июля 2010

Приложение codeproject, о котором вы упоминаете, может быть выполнено в качестве шага предварительной сборки, поэтому вам не нужно ничего делать вручную, просто однократная настройка.

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

Последний вариант - инвестировать в лучший инструмент слияния, чтобы минимизировать сложность слияния.

Какой бы подход вы ни выбрали, всегда нужен компромисс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...