Как это работает / 03 из 05
Сначала опора, потом то, что от неё зависит
Если один объект использует другой, порядок имеет значение. Holkas выстраивает команды по известным ему связям, а не по тому, в какой очереди вы отметили объекты.
Пример зависимости внутри класса
Метод не появляется раньше класса
Создать класс
Сначала появляется сам объект
Создать метод
Теперь есть класс для метода
Добавить параметр
Теперь есть метод для параметра
А если нужного объекта не хватает?
Для известной зависимости Holkas проверяет приёмник. Если нужного объекта нет ни в плане, ни в приёмнике, появится предупреждение.
Вы выбираете состав переноса. Holkas определяет порядок команд с учётом известных зависимостей.
Почему нельзя просто идти по списку
Параметр принадлежит методу, а метод — классу. При создании нового класса нельзя начать с параметра: ему ещё некуда добавляться. Такие связи называются зависимостями.
Holkas учитывает зависимости между командами и собирает общую последовательность выполнения. Поэтому порядок выбора объектов не задаёт порядок переноса.
Что будет, если забыть нужный объект
Объект, на который ссылается доработка, может уже существовать в приёмнике — тогда переносить его заново не обязательно.
Если Holkas обнаружит известную ему зависимость, которой нет ни в плане, ни в приёмнике, он покажет предупреждение. Добавить недостающий объект в набор или подготовить его отдельно — ваше решение. Сам по себе такой объект в перенос не включается.
Проверка опирается на связи, которые Holkas умеет распознавать. Она не доказывает, что произвольный программный код доработки будет работать: после переноса нужна проверка самого приложения.
Выбор команд тоже связан с порядком
Нельзя оставить зависимую команду, исключив необходимого ей предшественника. При исключении Holkas учитывает связанные команды; при выборе части плана добавляет нужные команды из этого же плана.
Это два разных действия: добавить объект в состав переноса решает человек, а согласовать команды уже построенного плана помогает Holkas.
Если выбранного объекта вообще нет в источнике
Например, объект переименовали, а в сохранённом списке осталось прежнее имя. В этом случае операция останавливается и перечисляет отсутствующие объекты. Holkas не подменяет ваш набор тем, что удалось найти.