Что получилось найти в коде после рефакторинга

«Что получилось найти в коде после рефакторинга» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

После рефакторинга обычно обнаруживаются:

  1. Дублирование кода – одинаковые куски логики в разных местах.
  2. Сложные методы – функции с высокой цикломатической сложностью (много if/else, вложенностей).
  3. Устаревшие подходы – например, AsyncTask вместо корутин/RxJava.
  4. Нарушение SOLID – например, гигантские классы, нарушающие SRP.

Пример до рефакторинга:

fun updateUI(data: List<String>) {
    if (data.isNotEmpty()) {
        recyclerView.visibility = View.VISIBLE
        emptyView.visibility = View.GONE
        adapter.setData(data)
    } else {
        recyclerView.visibility = View.GONE
        emptyView.visibility = View.VISIBLE
    }
}

После: Логика вынесена в отдельный метод/класс для управления состоянием UI.