Ответ
Рефакторинг — это улучшение кода без изменения его функциональности. Основные цели: повышение читаемости, поддержки и производительности.
Подходы:
-
Методы рефакторинга:
- Извлечение методов (
Extract Method) - Замена магических чисел константами
- Упрощение условий
- Извлечение методов (
-
Инструменты:
- Android Studio:
Refactor → Rename/Move/Extract - Lint: анализ кода на проблемы
- Unit-тесты: проверка, что функциональность не сломана
- Android Studio:
Пример:
// До
fun calculateTotal(price: Double, quantity: Int): Double {
return price * quantity * 1.2 // 1.2 — налог (магическое число)
}
// После
const val TAX_RATE = 1.2
fun calculateTotal(price: Double, quantity: Int) = price * quantity * TAX_RATE
Важно:
- Рефакторить постепенно, с тестами
- Избегать "большого взрыва"
- Использовать VCS (Git) для отката изменений