Компания GitClear провела исследование относительно влияния сервиса помощи программистам GitHub Copilot на качество кода и пришла к выводу, что оно неуклонно снижается. По словам специалистов, код, сгенерированный ИИ, напоминает странствующего контрибьютора, склонного нарушать DRY-принципы в посещаемых репозиториях.
Помимо ускорения производительности примерно на 50%, Copilot также показал положительный эффект в плане удовлетворённости разработчиков и экономии умственной энергии. Но есть и обратная сторона медали этого инструмента. Исследование показало три наиболее значительных изменения, связанных с ростом популярности ИИ-помощника, которые касаются «исправленного», «перемещённого» и «скопированного/вставленного» кода:
- Использование Copilot сильно коррелирует с «ошибочным кодом», выкладываемым в репозитории.
- В сочетании с ростом кода, помеченного как Copy/Paste, остаётся мало места для сомнений в том, что текущая реализация ИИ-помощников препятствует повторному использованию кода. Вместо рефакторинга и работы над кодом DRY («Не повторяй себя»), эти помощники предлагают повторить существующий код одним нажатием кнопки.
- Повторное добавление кода вместо его повторного использования оставляет будущим сопровождающим обязанность выяснить, как консолидировать параллельные пути, реализующие многократно востребованную функциональность.
Как итог, исследователи задаются вопросом — похож ли ИИ-код на тщательный, доработанный вклад Senior-разработчика или больше напоминает хаотичную работу краткосрочного подрядчика?