View
9.656
Download
1
Category
Preview:
Citation preview
Агенда
1. Проблемный код
2. Что такое рефакторинг?
3. Когда надо рефакторить?
4. Живой пример
5. На что обратить внимание?
1. Неделю сидел в отладке разбирался в коде
2. Ничего не трогайте пока работает
3. Только Петя знает, почему это работает
4. Проще всё заново написать
Проблематика
Цели рефакторинга
1. Сделать код легче для понимания
2. Обобщить код, убрать дублирование
3. Уменьшение связности
4. Уменьшить технические долги
5. Привести дизайн к шаблонам проектирования
Рефакторинг НЕ делает
1. Оптимизация производительности
2. Изменение логики работы системы
3. Исправление багов
Не смешивайте
это с рефакторингом
Уже пора рефакторить?
1. Magic-strings, типа int k = 42
2. Переменные i1, ii, iii, i2, k2, s2
3. Длинные методы
4. Дублирование в коде
5. Комментарии в коде
6. Различное оформление кода
7. Многократно вложенные if, while, switch
8. Цикл в цикле в цикле в цикле в цикле в
Обратите внимание
Движение идет небольшими шагами
1. Запуск модульных тестов
2. Коммиты в систему контроля версий
Recommended