Refactoring

17
Рефакторинг Бындю Александр Директор ByndyuSoft

Transcript of Refactoring

Рефакторинг

Бындю Александр

Директор ByndyuSoft

Агенда

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. Коммиты в систему контроля версий

Берите готовое!

+

Успехов на практике!

Бындю Александр

Директор ByndyuSoft

twitter @alexanderbyndyu