Sobes.tech
Middle+
143
questionbank

Что ты считаешь недочетом в коде, что сразу хотелось бы заменить?

Answer from AI

sobes.tech AI

Использование findViewById вместо View Binding или Data Binding. findViewById не является типобезопасным и приводит к избыточному коду.

// Пример использования findViewById
val textView: TextView = findViewById(R.id.myTextView)
textView.text = "Hello"

Предпочтительные варианты:

// Пример использования View Binding
// Активируется в build.gradle
// buildFeatures { viewBinding true }
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.myTextView.text = "Hello"
// Пример использования Data Binding
// Активируется в build.gradle
// buildFeatures { dataBinding true }
// Разметка оборачивается в <layout> тег
val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
binding.myTextView.text = "Hello"

Также обратил бы внимание на:

  • Отсутствие обработки возможных null значений.
  • Слишком большой размер одного класса или метода (нарушение принципа единственной ответственности).
  • Использование "магических" строк или чисел вместо констант.
  • Дублирование кода.
  • Отсутствие тестов (юнит, интеграционные).
  • Использование устаревших API (например, старые версии библиотек поддержки Android).
  • Сложный для понимания и поддержки код без комментариев или с неинформативными комментариями.
  • Неправильное управление жизненным циклом компонентов (например, утечки памяти).

Эти моменты часто указывают на потенциальные проблемы с надежностью, поддерживаемостью и производительностью приложения.