Программирование и работа с кодом
Оценить
(0 голоса)
Обратите внимание, что конструктор классов имеется только в профессиональной версии Visual Studio. Однако мы описываем его в главе 27. Это позволяет нам опи­сать все инструменты моделирования Visual Studio в одной главе. Визуальный конструктор классов Visual Studio предоставляет вам инструменты рефакторин­га при работе с классами С#. Этим обеспечивается использование рефакторинга при выпол­нении модификаций кода при помощи этого визуального конструктора. Предположим, что вы хотите переименовать свойство внутри визуального конструктора и хотите, чтобы были автоматически обновлены также и ссылки на данное свойство. Вы можете сделать это при помощи щелчка правой кнопкой мыши по свойству внутри визуального конструктора клас­сов и последующего выбора опции Rename…
Оценить
(0 голоса)
По мере того, как вы знакомитесь с инструментами рефакторинга, можете решиться дове­рить им делать свое дело без особого присмотра с вашей стороны. Однако если вы не отли­чаетесь от других разработчиков, то никто (и ничто) не может трогать ваш код без вашего согласия. К счастью для нас, инструменты рефакторинга имеют опцию предварительного просмотра. Эта опция позволяет вам следить за изменениями (выполняемыми инструмента­ми) и либо принимать, либо отвергать предлагаемые изменения. Диалоговое окно Preview Changes активизируется как опция (флажок выбора) для данной операции рефакторинга (или в случае смарт-тега — через второй пункт меню смарт-тега). На рис. 9.6 показан пример выбора опции Preview reference…
Оценить
(0 голоса)
Переименование элементов кода — это самая часто встречающаяся операция рефакторинга. Наряду с тем, что Rename является частью редактора С#, аналогичная функция переимено­вания существует как в редакторе VB, так и в инструменте Team Systems Database Developer Tool. Здесь мы описываем только инструменты рефакторинга для языка С#. Однако послед­ние два инструмента работают аналогично. В обычном сеансе рефакторинга переименование часто составляет основной объем работы. Однако большинство переименований происходит снаружи окна рефакторинга. Разработчи­ки обычно не дожидаются того момента, когда код заработает, исключительно для того, чтобы сказать себе: "отлично, а теперь я вернусь назад и переименую эти 10 элементов для большей ясности”. Иногда случается именно…
Оценить
(0 голоса)
Вы можете делать операцию Rename из многих мест интегрированной среды. В предыду­щем разделе мы рассмотрели доступ к Rename через меню Refactor, щелчок правой кноп­кой мыши, смарт-тег и визуальный конструктор классов. Вы можете также получить доступ к Rename из Object Browser, Solution Explorer и Class View. Кроме того, если вы исполь­зуете диалоговое окно Properties для изменения имени элемента управления, который вы поместили на форму, то "за кулисами" активизируется операция Rename и сам элемент со­ответствующим образом переименовывается. Из браузера Object Browser вы можете получить доступ к операции Rename только через меню Refactor. Конечно, вы должны при этом просматривать типы вашего решения. Вы…
Оценить
(0 голоса)
Диалоговое окно Rename (см. рис. 9.6) позволяет вам указать несколько опций при активи­ровании данной операции. На рис. 9.6 показан пример диалогового окна. Два текстовых по­ля на форме позволяют вам определить само переименование. В разделе New name вы ука­зываете новое название переименовываемого элемента. Текстовое поле Location указывает пространство имен переименовываемого элемента. Конечно, поиск будет произведен во всех указанных местах. Диалоговое окно Rename также предоставляет разработчику несколько опций для выполне­ния переименования. Три флажка выбора под текстовым полем Location позволяют вам настроить опции так, как описано в табл. 9.2.
Оценить
(0 голоса)
Когда разработчик возвращается к своему коду (возможно, для регулярного анализа кода или после особенно длительного периода безотрывной его разработки), он часто обнаружи­вает методы, которые слишком длинны или крупномодульны, содержат дублированный код йли просто плохо организованы. Обычно после этого нужно пробежаться по коду и создать для решения этих проблем мелкомодульные методы, которые дадут более читабельный, пригодный для многократного использования и более легкий для сопровождения код. Проблема, конечно, состоит в том, что это требует времени и часто привносит в код ошиб­ки. Редактор кода C# в Visual Studio 2008 предоставляет инструмент рефакторинга Extract Method (извлечение метода) для быстрой и безошибочной работы по организации…
Оценить
(0 голоса)
Для доступа к операции рефакторинга Extract Method вы должны сначала выделить блок кода. Затем вы можете использовать меню Refactor и выбрать пункт меню Extract Method. Вы можете также вызвать Extract Method из контекстного меню (при помощи щелчка пра­вой кнопкой мыши). Совет Для вызова операции извлечения метода с клавиатуры сначала выделите блок кода, а затем сыграйте аккорд <Ctrl>+<R>, <Ctrl>+<M>.
Оценить
(0 голоса)
При помощи операции извлечения метода вы можете создать (или извлечь) новый метод из группы строк кода, единственной строки или выражения внутри данной строки кода. В каж­дом случае метод создается немедленно по образцу того метода, код которого извлекается. Извлеченный код заменяется вызовом нового метода. В листинге 9.1 показан пример типичного слишком длинного метода. Для удобства ссылок мы добавили номера строк. Когда вы анализируете код, то такие методы встречаются часто и именно их вам и следует искать. Этот метод создан как статический вызов, который воз­вращает объект Object данного клиента (по идентификационному номеру клиента и иден­тификационному номеру заказа). Однако заказ, строки заказа и…
Оценить
(0 голоса)
Иногда вам может понадобиться извлечь в качестве метода единственную строку кода (или часть ее). Например, у вас может иметься вычисление, которое выполняется как часть стро­ки кода, но носит достаточно общий характер для того, чтобы быть оформленным в качест­ве отдельного метода. Либо вам может понадобиться извлечь присваивание объекта (для того, чтобы добавить в него дополнительную логику). В любом случае редактор кода C# поддерживает такой тип извлечения. Рассмотрим пример. Предположим, что у вас есть следующая строка кода, в которой вы­числяется сумма по заказу (в цикле по позициям заказа): total = total + item.Quantity * item. UnitPrice; Вам нужно извлечь ту часть присваивания,…
Оценить
(0 голоса)
Visual Studio может автоматически сгенерировать для вас заглушку метода. Строго говоря, это не операция рефакторинга, но это может дать такое же увеличение производительности вашего труда. Это может быть применимо в следующих обстоятельствах: предположим, что вы пишете код, который вызывает метод одного из ваших объектов. Однако этот метод не существует. Вы все равно можете написать код вызова несуществующего метода. Visual Studio поймет, что этот метод не существует, и, предоставит вам смарт-тег (рис. 9.15) для создания этого метода. Щелчок по смарт-тегу приведет к тому, что Visual Studio извлечет вызов метода в новый сгенерированный метод целевой сборки и класса. На рис. 9.16 показан…
© 2017 www.visualstudios.ru. Все права защищены.