![]() |
#6 |
Участник
|
Цитата:
1. Если удаление префикса не приводит к дублированию имен, то удаляем префикс 2. Если удаление префикса приводит к дублированию имен, то 2.1. Переносим префикс в конец имени делая из него суффикс 2.2. Сообщаем пользователю о возникшей коллизии, чтобы он пересмотре логику использования данного объекта ============================ Вообще-то, насколько я понимаю, в самом общем виде задача ставится так: как переименовать объект, чтобы все ссылки на него также переименовались. Как мне кажется, в общем случае, полностью автоматическими средствами этого не сделать. Далеко не все ссылки на объект можно изменить автоматически. Например, в коде метода. Т.е., в общем случае, часть ссылок будет переименована автоматически, но останется некая часть, которую придется выискивать и переименовывать вручную. Вопрос только в пропорциях. Лично я сделал бы следующее: 1) Перекрестные ссылки. Где используется объект. 2) Поиск по тексту внутри методов на случай, например, прямых SQL-запросов к серверу или обращение через _args.caller() 3) Дополнительный Job для поиска по свойствам, которые не учитываются в перекрестных ссылках и не могут быть найдены по тексту метода или средствами стандартного поиска (не знаю, FormRef, например, стандартный поиск найдет?) Фиксирую все найденные места использования. Переименовываю объект и повторяю цикл для нового имени. Далее сравниваю полученные списки использования и вручную корректирую те места, где "автомат" не справился. ========================== Возможно, лучшей стратегией было бы дать умереть таким объектам своей смертью. Т.е. создавать новые объекты и переливать в них данные из старых. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |