Как измерить слоп
Даже если все автотесты и проверки линтера проходят, это еще не гарантирует того, что код получился хорошим. LLM неплохо справляются с поиском функциональных багов, но вот наличие лишних абстракций и другие признаки слопа они оценить не способны.
Есть несколько альтернативных количественных методов:
👉Просто смотреть на количество строк кода, но есть нюанс – если сделать эту метрику целевой и оптимизироваться под нее, то смысл она быстро потеряет.
👉Verbosity – количество продублированных или бесполезных строк (реализовано через ast-grep)
👉Erosion – насколько значимая часть кода сосредоточена в небольшом количестве больших и сложных функций. Считается через цикломатическую сложность.
Verbosity и Erosion довольно заметно отличаются между завайбкоженными проектами и просто старым добрым человеческим легаси – для AI кода в среднем они в два раза выше.
Post #2494
4.7K