Допускающая наличие ошибок оптимизация 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Допускающая наличие ошибок оптимизация



Оптимизация допускает наличие ошибок. Иными словами, можно выполнить оптимизацию проекта, построение которого выполнить невозможно. Однако в таких случаях процесс оптимизации может неправильно обновить неоднозначные ссылки.


Extract Method

Extract Method is a refactoring operation that provides an easy way to create a new method from a code fragment in an existing member.

Using Extract Method, you can create a new method by extracting a selection of code from inside the code block of an existing member. The new, extracted method contains the selected code, and the selected code in the existing member is replaced with a call to the new method. Turning a fragment of code into its own method lets you quickly and accurately reorganize code for better reuse and readability.

Extract Method has the following benefits:

· Encourages best coding practices by emphasizing discrete, reusable methods.

· Encourages self-documenting code through good organization.

When descriptive names are used, high-level methods can read more like a series of comments.

· Encourages the creation of finer-grained methods to simplify overriding.

· Reduces code duplication.

 


Извлечение метода

Извлечение метода — это операция оптимизации, обеспечивающая простой способ создания нового метода из фрагмента кода существующего члена.

С помощью операции Извлечение метода можно создать новый метод путем извлечения выделенного кода, находящегося внутри блока кода существующего члена. Новый, извлеченный метод содержит выделенный код, а выделенный код в существующем члене меняется на вызов нового метода. Превращение фрагмента кода в отдельный метод позволяет быстро и точно реорганизовать код с целью его много кратного использования и лучшей читаемости.

Операция Извлечение метода позволяет получить следующие преимущества:

· Способствует использованию лучших методов программирования, выделяя отдельные, многократно используемые методы.

· Способствует получению самодокументирующего кода за счет хорошей организации.

При использовании описательных имен методы верхнего уровня можно читать как последовательности комментариев.

· Способствует созданию сильно детализированных методов для упрощения переопределения.

· Сокращает дублирование кода.

 


How to: Refactor Code with Extract Method

The following procedure describes how to create a new method from a code fragment of an existing member. Use this procedure to perform the Extract Method refactoring operation.

To use Extract Method

1. Create a console application.

2. In the Code Editor, select the code fragment you want to extract:

double area = PI * radius * radius.

3. On the Refactor menu, click Extract Method.

The Extract Method dialog box appears.

Alternatively, you can also type the keyboard shortcut CTRL+R, M to display the Extract Method dialog box.

You can also right-click the selected code, point to Refactor, and then click Extract Method to display the Extract Method dialog box.

4. Specify a name for the new method, such as CircleArea, in the New Method Name box.

A preview of the new method signature displays under Preview Method Signature.

5. Click OK.

Example

To set up this example, create a console application named ExtractMethod, and then replace Program with the following code.

class A { const double PI = 3.141592; double CalculatePaintNeeded(double paintPerUnit, double radius) { // Select any of the following: // 1. The entire next line of code. // 2. The right-hand side of the next line of code. // 3. Just "PI *" of the right-hand side of the next line // of code (to see the prompt for selection expansion). // 4. All code within the method body. //...Then invoke Extract Method. double area = PI * radius * radius; return area / paintPerUnit; } }

Оптимизация кода с помощью операции "извлечение метода"

В описании следующей процедуры объясняется, как создать новый метод из фрагмента кода существующего члена. Эта процедура используется для выполнения операции оптимизации, называемой извлечение метода.

Чтобы воспользоваться операцией "извлечение метода"

1. Создайте консольное приложение.

Дополнительные сведения см. в разделе Создание консольных приложений (Visual C#).

2. В окнередактора кода выберите фрагмент кода, который нужно извлечь:

double area = PI * radius * radius.

3. В меню Оптимизация выберите пункт Извлечение метода.

Откроется диалоговое окноИзвлечение метода.

В качестве альтернативы, диалоговое окно Извлечение метода можно открыть нажатием на клавиатуре сочетания клавиш CTRL+R, M.

Кроме того, можно щелкнуть правой кнопкой мыши выделенный код, навести курсор на пункт меню Оптимизация и затем выбрать пункт Извлечение метода, после чего откроется диалоговое окно Извлечение метода.

4. Укажите имя нового метода, например CircleArea, в поле Имя нового метода.

Предварительный просмотр сигнатуры нового метода отображается в области Предварительный просмотр сигнатуры метода.

5. Нажмите кнопку ОК.

Пример

Для подготовки этого примера создайте консольное приложение с именем ExtractMethod и затем замените Program следующим кодом.

ß----------


Rename

Rename is a refactoring feature in the Visual Studio integrated development environment (IDE) that provides an easy way to rename identifiers for code symbols such as fields, local variables, methods, namespaces, properties, and types. Rename can be used to change the names in comments and in strings and to change the declarations and calls of an identifier.

Note:
When using Source Control for Visual Studio, get the latest version of sources before you try to perform rename refactoring.

Rename refactoring is available from the following Visual Studio features:

Feature Behavior of Refactoring in the IDE
Code Editor In the Code Editor, rename refactoring is available when you position the cursor on the code symbol declaration. When the cursor is in this position, you can invoke the Rename command by typing the keyboard shortcut (CTRL + R, R), or by selecting the Rename command from a smart tag, shortcut menu, or the Refactor menu. When you select the Rename command, the Rename dialog box appears.
Class View When you select an identifier in Class View, rename refactoring is available from the shortcut menu and Refactor menu.
Object Browser When you select an identifier in Object Browser, rename refactoring is only available from the Refactor menu.

 


Переименовать

Функция оптимизации Переименование интегрированной среды разработки Visual Studio является простым способом переименования идентификаторов таких символов кода, как поля, локальные переменные, методы, пространства имен, свойства и типы. Функция Переименование может использоваться для изменения имен в комментариях и строках, а также для изменения объявлений и вызовов идентификаторов.

Примечание.
При использовании системы управления версиями для среды разработки Visual Studio перед попыткой выполнить операцию оптимизации "переименование" следует взять последнюю версию исходного кода.

Функция оптимизации "Переименование" доступна из следующих модулей среды разработки Visual Studio:

Модуль Поведение оптимизации в интегрированной среде разработки
Редактор кода В редакторе кода операция оптимизации "переименование" доступна при размещении курсора на символах кода определенного типа. Расположив курсор в таком месте, можно вызвать команду Переименование, нажав сочетание клавиш (CTRL + R, R) или выбрав команду Переименование в меню смарт-тегов, контекстном меню или меню Оптимизация. При вызове команды Переименование открывается диалоговое окно Переименование.
Представление классов При выборе идентификатора в представлении классов операция оптимизации "переименование" доступна из контекстного меню и из меню Оптимизация.
Обозреватель объектов При выборе идентификатора в обозревателе объектов операция оптимизации "переименование" доступна только из меню Оптимизация.

 

Property Grid of the Windows Forms Designer In the Property Grid of the Windows Forms Designer, changing the name of a control will initiate a rename operation for that control. The Rename dialog box will not appear.
Solution Explorer

In Solution Explorer, a Rename command is available on the shortcut menu. If the selected source file contains a class whose class name is the same as the file name, you can use this command to simultaneously rename the source file and execute rename refactoring.

For example, if you create a default Windows application and then rename Form1.cs to TestForm.cs, the source file name Form1.cs will change to TestForm.cs and the class Form1 and all references to that class will be renamed to TestForm.

Note:
The Undo command (CTRL+Z) will only undo rename refactoring in the code and will not change the file name back to the original name.

If the selected source file does not contain a class whose name is the same as the file name, the Rename command in Solution Explorer will only rename the source file and will not execute rename refactoring.


 

Сетка свойств конструктора Windows Forms В сетке свойств конструктора Windows Forms изменение имени элемента управления приводит к запуску операции переименования для этого элемента управления. Диалоговое окно Переименование при этом не открывается.
Обозреватель решений

В Обозревателе решений команда Переименование доступна в контекстном меню. Если выбранный файл с исходным кодом содержит класс, имя которого совпадает с именем файла, то эту команду можно использовать для одновременного переименования файла с исходным кодом и выполнения операции оптимизации "переименование".

Например, при создании приложения Windows по умолчанию и переименовании файла Form1.cs в TestForm.cs имя файла с исходным кодом Form1.cs будет изменено на TestForm.cs, а класс Form1 и все ссылки на этот класс будут изменены на TestForm.

Примечание.
Команда Отменить (CTRL+Z) выполняет отмену только операции оптимизации "переименование" в коде, а имя файла на исходное не меняет.

Если выбранный файл с исходным кодом не содержит класса, имя которого совпадает с именем файла, то команда Переименование в Обозревателе решений переименовывает только файл с исходным кодом, а операция оптимизации "переименование" не выполняется.


Rename Operations

When you execute Rename, the refactoring engine performs a rename operation specific for each code symbol, described in the following table.

Code Symbol Rename Operation
Field Changes the declaration and usages of the field to the new name.
Local variable Changes the declaration and usages of the variable to the new name.
Method

Changes the name of the method and all references to that method to the new name.

Note:
When you rename an extension method, the rename operation propagates to all instances of the method that are in scope, regardless of whether the extension method is being used as a static method or an instance method.

 

Namespace

Changes the name of the namespace to the new name in the declaration, all using statements, and fully qualified names.

Note:
When renaming a namespace, Visual Studio also updates the Default Namespace property on the Application page of the Project Designer. This property cannot be reset by selecting Undo from the Edit menu. To reset the Default Namespace property value, you must modify the property in the Project Designer.

 

Property Changes the declaration and usages of the property to the new name.
Type Changes all declarations and all usages of the type to the new name, including constructors and destructors. For partial types, the rename operation will propagate to all parts.

 


Операции переименования

При выполнении операции Переименование подсистема оптимизации выполняется операцию переименования, предназначенную конкретно для каждого символа кода, описанного в следующей таблице.

Символ кода Операция переименования
Поле Изменяет объявление и случаи использования имени поля на новое имя.
Локальная переменная Изменяет объявление и случаи использования имени переменной на новое имя.
Метод

Изменяет имя метода и все ссылки на этот метод на новое имя.

Примечание.
При переименовании метода расширения операция переименования распространяется на все экземпляры этого метода, находящиеся в области действия, независимо от того, используется этот метод расширения как статический метод или метод экземпляра.

 

Пространство имен

Изменяет имя пространства имен на новое в его объявлении, во всех операторах using и во всех полных именах.

Примечание.
При переименовании пространства имен Visual Studio также обновляет свойство Пространство имен по умолчанию на странице Приложение Конструктора проектов. Это свойство невозможно сбросить, выбрав команду Отменить в меню Правка. Для сброса значения свойства Пространство имен по умолчанию необходимо изменить это свойство в Конструкторе проектов.

 

Свойство Изменяет объявление и случаи использования свойства на новое имя.
Тип Изменяет все объявления и все случаи использования типа на новое имя, включая конструкторы и деструкторы. Для разделяемых типов операция переименования распространяется на все части.

 


How to: Rename Identifiers

The following procedure describes how to rename an identifier in your code. Use this procedure to perform the Rename refactoring operation.

To rename an identifier

1. Create a console application as described in the following Example section.

For more information, see Console Application.

2. Place the cursor on MethodB, either in the method declaration or the method call.

3. From the Refactor menu, select Rename. The Rename Dialog Box appears.

You can also type the keyboard shortcut F2 to display the Rename Dialog Box.

You can also right-click the cursor, point to Refactor on the context menu, and then click Rename to display the Rename Dialog Box.

4. In the New Name field, type MethodC.

5. Select the Search in Comments check box.

6. Click OK.

7. In the Preview Changes dialog box, click Apply.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 91; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.178.157 (0.025 с.)