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).
- Сложный для понимания и поддержки код без комментариев или с неинформативными комментариями.
- Неправильное управление жизненным циклом компонентов (например, утечки памяти).
Эти моменты часто указывают на потенциальные проблемы с надежностью, поддерживаемостью и производительностью приложения.