Сложно ли отучить программиста от плохого кода?

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

Ответ

Это процесс, требующий времени и системного подхода, но он вполне осуществим. В моей практике наиболее эффективными оказались следующие методы:

  1. Практические code review с объяснениями. Вместо просто «так неправильно» я показываю последствия и лучшие практики.
    // Вместо: if ($isValid == true) { ... }
    // Объясняю: избыточное сравнение, булеву переменную можно использовать напрямую.
    if ($isValid) { ... }
  2. Внедрение статических анализаторов. Инструменты вроде PHPStan или Psalm в CI/CD дают объективные, неличные замечания прямо в merge request. Это дисциплинирует и обучает.
  3. Внутренние воркшопы. Мы периодически разбираем сложные или проблемные участки кода из нашего проекта, обсуждая альтернативные решения.
  4. Постепенные улучшения. Нельзя изменить все привычки сразу. Мы фокусируемся на 1-2 аспектах за спринт (например, типизация или обработка исключений).

Ключ — создать среду, где писать качественный код становится проще и естественнее, чем писать плохой.