
Lab05_2012_draft_1
.pdf
Рис. 19 D. Вновь добавленное сокращение помещается в конец таблицы
Рис. 19 Е. В поле Expanded Text следует напечатать текст, в который должно «превращаться» сокращение
Рис. 19 F. Содержимое поля Description будет отображаться в контекстном меню
Если теперь выделить фрагмент текста и обратиться к меню через значок лампочки (или клавиатурную комбинацию Alt + Enter), то соответствующий пункт меню появится (проверьте).
Но, к сожалению, при использовании для выделения окна Usages выделенным оказывается только имя поля progressBar, но не обращение к его методу setVisible. Поэтому если сразу выполнить команду Surround with /* selection */ , то это приведет к ошибке (рис. 20).
Рис. 20. Если закомментировать только имя поля, возникнет ошибка
Поэтому следует сначала выделить весь код (включая точку с запятой), и уже после этого обратиться к списку предложенных средой вариантов, где отыскать и выполнить эту

команду (рис. 21; в Вашей версии среды команды могут располагаться в ином порядке). В результате этот фрагмент кода будет закомментирован (рис. 22).
Примечание.
Конечно, можно закомментировать фрагмент кода и без помощи среды, и используя обычный комментарий до конца строки (особенно, если код, который нужно закомментировать, действительно помещается на одной строке).
Теперь то же самое следует проделать со следующими семью вхождениями progressBar – с помощью вкладки Usages найти их в коде и заключить в комментарий (вручную или с помощью среды). Важно отметить, что если progressBar (это касается и любой другой переменной) встречается только в левых частях операторов присваивания или используется для установки значений некоторых свойств, то удаление, как правило, не приведет к разрушительным последствиям для приложения. Если же удаляемая переменная используется для установки какого-либо другого значения или встречается в правой части оператора присваивания, то код программы наверняка потребует куда более серьезной «переработки».
Рис. 21. Заключение кода в комментарий
Рис. 22. Закомментированный код
Девятое и последующие вхождения оказываются в области Generated Code, непосредственное редактирование которой пользователю не разрешено (рис. 23). Значок лампочки появится, но в контекстном меню нужных пунктов не будет.

Рис. 23. Девятое вхождение закомментировать не удастся
Чтобы удостовериться, что больше не осталось ни одного вхождения поля progressBar в область кода, редактирование которой доступно программисту, можно использовать кнопку Refresh the refactoring data (обновить данные рефакторинга) (рис. 24).
Рис. 24. Обновление данных рефакторинга
Нажатие на эту кнопку вернет Вас к окну Safely Delete (рис. 15), после чего потребуется вновь нажать кнопку Preview (и перейти к окну, показанному на рис. 16), а затем вновь перейти к списку вхождений. Как можно видеть, он стал короче (рис. 25), и последовательный просмотр всех оставшихся вхождений неизменно приводит нас в область Generated Code.
Рис. 25. Обновленный список содержит 4 элемента

Эта область, как уже было сказано, содержит код, который автоматически генерируется при помещении визуальных компонентов на форму в режиме отображения Design. Поэтому переключитесь в этот режим отображения и выберите элемент progressBar с помощью Инспектора объектов или же просто щелкнув по нему мышью (рис. 26).
Рис. 26. Элемент progressBar выделен
Теперь с помощью контекстного меню (которое можно вызвать как щелкнув по выделенному объекту непосредственно, так и в Инспекторе объектов) удалите элемент (рис. 27).
Рис. 27. Удаление с помощью контекстного меню
Вновь переключитесь в режим отображения исходного кода и нажмите на кнопку Refresh the refactoring data (рис. 24). После возвращения к окну Safely delete и нажатия на кнопку Preview Вы увидите окно с сообщением, что тот элемент, который должен быть подвергнут рефакторингу, удален или существенно изменен, и получить список вхождений невозможно.
Рис. 28. Сообщение об отсутствии элемента для рефакторинга
В этом окне можно нажать кнопку Cancel (отмена) и тем самым прекратить процесс рефакторинга (для надежности можете выполнить поиск элемента progressBar в файле и убедиться, что он присутствует только в комментариях).
Этот механизм позволяет легко избавляться от компонентов, которые были помещены на форму и не использовались, но при наличии «использующих вхождений» требует от программиста внимательного рассмотрения каждого такого вхождения.