Реклама в Telegram-каналах DzikPic и dev.by теперь дешевле. Узнать подробности 👨🏻‍💻
Support us

«Индекс Дежавю». 70% кода на GitHub — копии других проектов

Оставить комментарий
«Индекс Дежавю». 70% кода на GitHub — копии других проектов

Совместное исследование специалистов Microsoft, University of California в Irvine и Чешского технического универсистета показало, что более 70 процентов кода на GitHub представляет собой копии и копии копий проектов, зачастую не претерпевшие никакой обработки, сообщает The Register.

Читать далее

Изначально целью восьми исследователей было определение того, как сильно отличается ранее скопированный код при использовании в новых проектах. В ходе работы выяснилось, что огромное количество проектов использует «шокирующее количество копий, сделанных на уровне файлов».

Из 428 млн файлов, изученных в ходе исследования, только 85 млн оказались уникальными. А при проведении проектного анализа выяснили, что от 9 до 31 процента проектов содержит по крайней мере 80 процентов файлов из других проектов. Эта находка побудила исследователей сместить акценты, что привело к созданию публичного индекса дублирования кода («индекс Дежавю»).

Иллюстрация: University of California at Irvine

По оси Y показано количество коммитов в проект, на оси X — количество файлов в проекте. Значение каждого квадрата укзывает на процент скопированных файлов. Чем темнее цвет — тем больше клонов.

В соответствии с расчётами, самым «закопированным» языком программирования назвали JavaScript. Во всём массиве кода лишь 6 процентов кода оказались оригинальными. Исследователи отнесли к дубликатам 73 процента кода экосистемы C++ и 71 процент Python-кода.

Самым «индивидуалистичным» языком программирования назвали Java — но и в ней объём дублированного кода достигает 40 процентов.

Очевидно, на показатели «индекса Дежавю» влияет и характер языка. В JavaScript, к примеру, медианное количество подключённых проектов (а этот язык многие любят именнно благодаря огромному количеству подключаемых библиотек) оказалось на уровне 63, а максимальное количество «зависимостей» достигало 1261.

С помощью опубликованного отчёта авторы надеются помочь другим исследователям учесть особенности повторяемости при изучении тенденций в разработке.

Новый рекламный формат в наших телеграм-каналах.

Купить 500 символов за $150

Читайте также
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
12 онлайн-курсов по языку Java для новичков и профессионалов (август, 2023)
Java по-прежнему входит в список самых популярных языков программирования. Вместе с Digitaldefynd мы составили список курсов по Java, которые подойдут как новичкам, так и людям с опытом программирования, чтобы освоить этот востребованный язык.
10 курсов по C++ (июнь 2023)
10 курсов по C++ (июнь 2023)
10 курсов по C++ (июнь 2023)
С++, несмотря на свой солидный возраст, остается одним из основных языков программирования, который применется очень широко: от разработки ПО до создания игр. В сети много ресурсов, которые помогут освоить этот язык. Советуем обратить внимаение на подборку команды Digitaldefynd, котрую мы дополнили. В ней как платные, так и бесплатные ресурсы для людей с разным уровнем подготовки и знаний С++.
1 комментарий
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.