Некоторые советы по превращению

Оценить
(0 голоса)

Константы ведут себя как самый лучший тип локальных переменных для превращения в параметры. Причина в том, что нет проблемы с обновлением вызывающих клиентов. Если у вас есть локальная переменная с присвоенным ей постоянным значением, то вы можете об­новить вызовы этим фиксированным значением.

Однако когда вы превращаете переменную, которая содержит вызов объекта в присваива­нии, то получите предупреждение, показанное на рис. 9.20. Превращение переменной, при­сваивание которой является результатом вызова другого метода, требует того, чтобы вызо­вы (которые необходимо обновить в результате продвижения) также имели возможность вызвать объект, который делает присваивание.

Предположим, что у вас есть объявление переменной и присваивание:

int Customerld = GetCustomerFromOrder(orderld);

Если вы превращаете Customerld в параметр, то вызовы метода должны будут иметь ссыл­ку на объект, который содержит GetCustomerFromOrder. Если они ее не имеют, то вы по­лучите ошибку компилятора (и соответствующее предупреждение). Является ли это про­блемой — зависит от того, как вы организовали свой код и ссылки.

Когда вы превращаете в параметры локальную переменную, то параметр добавляется в ко­нец сигнатуры функции. Возможно, вы хотите именно этого. Однако возможно, что вы хо­тели бы упорядочить все по-другому (для повышения читабельности и улучшения сопрово­ждения кода). Для этого вам необходимо использовать совместно операцию рефакторинга Reorder Parameters и превращение в параметры.

Перестановка параметров
Инкапсуляции поля
Доступ к операции Encapsulate Field
Диалоговое окно Encapsulate Field
Резюме

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.