Какие вредные привычки в коде стоит избегать разработчику?

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

Ответ

Вредные привычки в коде снижают его читаемость, поддерживаемость и надежность.

Распространенные антипаттерны и как их избежать:

  1. «Магические числа» и строки: Использование непонятных литералов в коде.

    • Решение: Выносить в именованные константы или конфигурационные файлы.
      // Плохо
      if (status == 5) { ... }
      // Хорошо
      private static final int STATUS_COMPLETED = 5;
      if (status == STATUS_COMPLETED) { ... }
  2. Избыточная сложность методов (God Method): Слишком длинные и многофункциональные методы.

    • Решение: Следовать принципу единой ответственности (SRP), разбивать на небольшие, понятные методы.
  3. Игнорирование исключений: Пустые catch-блоки или подавление исключений.

    • Решение: Обрабатывать исключения осознанно: логировать, пробрасывать дальше или предпринимать корректные действия по восстановлению.
      // Плохо
      try { riskyOperation(); } catch (Exception e) {}
      // Лучше
      try { riskyOperation(); } catch (SpecificException e) {
      log.error("Operation failed", e);
      throw new BusinessException("Recovery action failed", e);
      }
  4. Жесткие зависимости (Tight Coupling): Прямое создание экземпляров классов внутри других классов.

    • Решение: Использовать Dependency Injection для повышения тестируемости и гибкости.
  5. Дублирование кода (Copy-Paste Programming): Повторение одной и той же логики в разных местах.

    • Решение: Выносить общую логику в методы, утилитарные классы или применять шаблоны проектирования.

Избавление от этих привычек — ключ к написанию чистого, поддерживаемого кода.