Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Рефакторинг

Краткий обзор распространенныхпромышленных языков программирования и программных платформ | Структурное программирование | Функциональное программирование | Событийно-ориентированное программирование | Объектно-ориентированное программирование | Аспектно-ориентированное программирование | Визуально-ориентированное программирование | Метапрограммирование | Качество кода. Критерии качества кода | Форматирование и оформление |


Читайте также:
  1. Рефакторинг

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

 

· Код повторяется

· Метод слишком велик

· Цикл слишком велик или слишком глубоко вложен в другие циклы

· Класс имеет плохую связность

· Метод использует больше элементов другого класса, чем своего собственного

· Класс имеет слишком ограниченную функциональность

· По цепи методов передаются бродячие данные (данные, передаваемые в метод лишьзатем, чтобы он передал их другому методу)

· Один класс слишком много знает о другом классе

· Сложный код объясняется при помощи комментариев. В важности комментариев трудноусомниться, но их не следует использовать для объяснения плохого кода. Старая мудростьгласит: «Не документируйте плохой код — перепишите его».

 

Когда не следует выполнять рефакторинг:

 

· Не рассматривайте рефакторинг как оправдание написания плохого кода с намерениемисправить его позднее

· Не рассматривайте рефакторинг как способ, позволяющий избежать переписывания кода

· Иногда имеющийся код настолько запутан, что подвергнуть его рефакторингу, конечно,можно, но проще начать все с самого начала

· Ещё один случай, когда следует воздержаться от рефакторинга, это близость даты

завершения.

 

Наиболее употребимые методы рефакторинга:

 

· Изменениесигнатурыметода (Change Method Signature)

· Инкапсуляция поля (EncapsulateField)

· Выделение класса (ExtractClass)

· Выделение интерфейса (ExtractInterface)

· Выделение локальной переменной (ExtractLocalVariable)

· Выделение метода (ExtractMethod)

· Генерализация типа (GeneralizeType)

· Встраивание (Inline)

· Введениефабрики (Introduce Factory)

· Введениепараметра (Introduce Parameter)

· Подъём поля/метода (PullUp)

· Спуск поля/метода (Push Down)

· Замена условного оператора полиморфизмом (Replace Conditional with Polymorphism)

 


Дата добавления: 2015-08-27; просмотров: 65 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Документирование| Архитектура программного обеспечения

mybiblioteka.su - 2015-2024 год. (0.007 сек.)