Вчера считал эстимейты на группу из ~40 тикетов. Все сделаны по отчету ИИ об анализе кода большого проекта на Drupal. Проекту около 10 лет, кодовая база развивалась все это время, 20 поддоменов, интеграции, апишки, синхронизация контента, в общем прикольный проект.
Отчет структурированный, нейросеть проверяла всех четырёх всадников попокалипсиса в проекте: Уязвимости, Баги, Тормоза и Грязный код. Изначально из переданного отчета получалось гораздо больше задач, но процентов на 30% я сразу won't fix навесил. Там и глюки нашлись, и непонимание контекста. Но 40 тикетов тем не менее осталось.
Среди них тоже в основном таски с минимальнейшим приоритетом, типа
- в кастомном модуле не проставлена зависимость от чего-нибудь типа paragraphs;
- где-то в коде наглый программист вызвал \Drupal::service() вместо инъекции зависимостей;
- где-то deprecated-версии Друпала не убраны из поддерживаемых версий и тому подобное.
Нашлось и несколько более серьезных претензий:
- парочка проблем N+1;
- несколько XSS-уязвимостей (доступных только админам, но всё же);
- несколько мест, где отсутствуют проверки на наличие ключа в массиве (спамит в лог предупрежденими);
- и даже одна уязвимость типа timing oracle.
Да, грязненький код — признак грязненьких мыслей :) Да, хорошо бы всё это почистить. Но за вычетом 3–4 претензий, это получается больше ста часов работы суммарно, а выхлоп — немножко более чистый код, причёсанное legacy, немножко меньше техдолга и warning/debug-записей в логе. Хорошо конечно, когда заказчик не против провести такую генеральную уборку. И честь и хвала аккаунтам, которые могут убедить заказчика в необходимости такой уборки при примерно нулевой ценности для конечного пользователя.
А ощущения от таких отчетов по-прежнему странные. Вроде и находит что-то. Но суеты с этими отчетами пока куда больше, чем пользы.

