Спасибо большое за отзыв!
Цитата:
Сообщение от
mazzy
может не стоит хардкодить путь к аксапте? если уж не параметры командной строки, то хотя бы какой-нибудь в XML или брать из проекта. см.п.10
И connection string к базе с перекрестными ссылками тоже.
TODO
Цитата:
Сообщение от
mazzy
мне не кажется, что прямой запрос в базе с перекрестными ссылками является хорошей идеей. лучше воспользоваться хранимками, которые поставляются в этой базе. (см. приложенный скриншот). об эффективности и целесообразности прямых запросов по сравнению с хранимками можно поговорить
TODO
Поиск на моём инстансе занимал 22 сек для каждой метки, для оптимизации перенёс все нужные References в отдельную таблицу путём select * into.
Цитата:
Сообщение от
mazzy
насчет Replace в type - мне вот интересно, а сами разработчики в MS как с этим работают? наверняка какая-нибудь утилита есть для такой замены. А вообще говоря, яйца хочется оторвать тому, кто запроектировал множественное число.
Хороший вопрос, но в группу разработчиков ядра я пока не вхожу
Цитата:
Сообщение от
mazzy
могу ошибаться, но не понимаю как будут найдены метки, которые используются в другой модели. например, метка объявлена в модели myModel, а используется в модели myModelTest. )))
Поиск исходников производится только в указанном каталоге независимо от наличия файла меток. Т.е. получил ссылку на файл, нашёл файл, переписал "ТестOLD" на "ТекстNEW".
Цитата:
Сообщение от
mazzy
чтение файла - очень медленная операция. поэтому хотелось бы, чтобы алгоритм был более умным и читал только один раз. могу ошибаться, но мне кажется, что сейчас каждый xml-файл будет читаться столько раз, сколько меток в этом файле найдено перекрестными ссылками (retList - обычный список, который позволяет хранить дубли. в sql нет group by)
TODO
Цитата:
Сообщение от
mazzy
в идеале хотелось бы видеть хотя бы подходы к распараллеливанию дисковых операций с xml-файлами
TODO
Цитата:
Сообщение от
mazzy
текстовый replace в xml-файле... да еще заменяемые строки задаются пользователем в параметрах... мне кажется это слишком опасным - слишком легко сломать ВЕСЬ исходный код аксапты.
Если подвязана система контроля версий, то все изменения можно откатить (чем я и пользовался в процессе создания)
Цитата:
Сообщение от
mazzy
if (!text.Contains(_fromLabel)) ПОСЛЕ замены выглядит прикольно )))
Действительно
Цитата:
Сообщение от
mazzy
на самом деле хотелось бы на выходе получить не тексты ошибок, а список измененных файлов, которые надо включить в проект и которые надо будет сбилдить. а лучше, чтобы проект сразу был бы обновлен утилитой.
TODO
При подключенной системе контроля версий все изменённые файлы сваливаются в Pending changes, выгребаю оттуда командой "tf status".
Цитата:
Сообщение от
mazzy
при включенной системе контроля версий, в большинстве случаев у файлов будет включен ReadOnly атрибут.
Можно
убрать атрибут (что потенциально опасно при совместной разработке) или
настроить build
Цитата:
Сообщение от
mazzy
добавил после крепкого размышления "а стоит ли": ну и не Console.WriteLine, а вывод в канал для ошибок stderr, чтобы утилиту можно было запускать в автоматическом режиме, чтобы можно было перенаправлять потоки-каналы в файл и затем анализировать другими утилитами.
и
Цитата:
Сообщение от
ryik
...сканирование папок лучше завернуть в обертку try catch так как во время поиска возможны ошибки доступа и ошибки с пермишенами
Можем улучшить приложение совместно - кидайте ChangeRequest в GutHub