Рефакторинг
Нижеследующее из "Рефакторинг - улучшение дизайна существующего кода"
1. Реорганизовать функцию
1,Метод извлечения (функция уточнения)
3.Inline Temp (встроенная временная переменная)
5.Ввести объясняющую переменную
6.Разделить временную переменную
7.Удалить присвоения параметрам
8,Заменить метод объектом метода
2. Перемещение функций между объектами
13.Встроенный класс (встроить класс)
17.Внедрить локальное расширение
3. Реорганизуйте данные
19.Заменить значение данных объектом
20.Изменить значение на ссылку
двадцать один,Изменить ссылку на значение
двадцать два,Заменить массив объектом
двадцать три,Дублирование наблюдаемых данных
24,Изменить однонаправленную ассоциацию на двунаправленную
25.Изменить двунаправленную ассоциацию на однонаправленную
26.Замените магическое число символической константой
28.Инкапсулированная коллекция
29.Заменить запись классом данных
31.Заменить код типа подклассом
32.Замените код типа на состояние/стратегию
В-четвертых, упростите условное выражение
35.Объединить условное выражение
36.Консолидация повторяющихся условных фрагментов
38.Замените вложенные условные операторы на защитные предложения
39.Заменить условное выражение полиморфизмом
5. Упростите вызовы функций
45.Отдельный модификатор формы запроса (отдельная функция запроса и функция модификации)
46.Параметризовать метод (заставить функцию переносить параметры)
47.Заменить параметр явными методами
52.Скрыть метод
53.Замените конструктор фабричным методом
55.Заменить код ошибки на исключение
56.Заменить исключение на тест
6. Работа с отношениями обобщения
59.Подтяните тело конструктора
61.поле вниз
67.Замените наследование делегированием
68.Замените делегирование наследованием