[Ed. note: While we take some time to rest up over the holidays and prepare for next year, we are re-publishing our top ten posts for the year. Please enjoy our favorite work this year and we’ll see you in 2022.]
Говорят, за каждой шуткой скрывается доля правды. В случае с нашей недавней первоапрельской шуткой это могло быть больше похоже на целую кучу истины. Мы хотели использовать классический мем Stack Overflow и изменить один из наших основных принципов. Наша компания была вдохновлена разочарованием основателей веб-сайтов, которые хранили ответы на вопросы кодирования за платным доступом. Как бы выглядел мир, если бы мы внезапно решили монетизировать акт копирования кода из Stack Overflow?
Хорошо, шутки кончились, надеюсь, все хорошо посмеялись и никто не испугался. Но подождите, это еще не все. Настроив систему, которая будет реагировать каждый раз, когда кто-то набирает Command + C, мы поняли, что есть возможность узнать, как люди используют наш сайт. Мы смогли каталогизировать каждую команду копирования, выполненную на Stack Overflow в течение двух недель, и вот что мы обнаружили.
Содержание статьи
- 1 Вы не одиноки
- 2 Данные
- 3 Вопросы
- 3.1 Пользователи с более высоким уровнем репутации копируют больше?
- 3.2 Копируются ли еще принятые сообщения?
- 3.3 Копируются ли сообщения с более высокими оценками больше?
- 3.4 Копируют ли люди отрицательные ответы?
- 3.5 Какие теги копируются чаще всего?
- 3.6 Десять наиболее скопированных тегов
- 3.7 Десять тегов с наибольшим количеством копий в сообщении
- 3.8 Какие сообщения копируются чаще всего?
Вы не одиноки
Каждый четвертый пользователь, посещающий вопрос о переполнении стека, копирует что-то в течение пяти минут после перехода на страницу. Это в сумме составляет 40 623 987 копий в 7 305 042 сообщениях и комментариях с 26 марта по 9 апреля. Люди копируют ответы примерно в десять раз чаще, чем из вопросов, и примерно в 35 раз чаще, чем из комментариев. Люди копируют из блоков кода более чем в десять раз чаще, чем из окружающего текста, и, что удивительно, мы видим, что по вопросам без принятых ответов делается больше копий, чем по принятым вопросам.
Так что, если вы когда-нибудь чувствовали себя плохо, копируя код с нашего сайта вместо того, чтобы писать его с нуля, простите себя! Зачем воссоздавать колесо, если тяжелую работу проделал кто-то другой? Мы называем это повторным использованием знаний — вы повторно используете то, что другие уже узнали, создали и доказали. Повторное использование знаний — неплохая вещь — это помогает вам учиться, получать рабочий код быстрее и снижает ваше разочарование. Весь наш сайт основан на повторном использовании знаний — альтруистическое наставничество делает Stack Overflow таким мощным сообществом.
Вы можете встать на плечи гигантов и использовать их предыдущие уроки для создания новых ценных вещей. Вы все равно должны следовать некоторым основным передовым методам, чтобы предотвратить проникновение ошибок или проблем с безопасностью в ваш код при копировании, поэтому убедитесь, что вы обучились, прежде чем захватывать и вставлять. И, конечно же, имейте в виду, что для использования некоторого кода требуется определенная лицензия. Помимо этого, мы призываем всех делиться преимуществами того, что создано сообществом.
Это высокоуровневый TL; DR, но для людей, которые хотят глубоко погрузиться во все вещи, которые мы узнали при изучении копируемых данных, пожалуйста, прочтите некоторые чудесные идеи и диаграммы от Дэвида Гибсона, аналитика данных по нашему продукту. маркетинговая команда. Если вы хотите услышать о том, как мы создали программную модальную и физическую клавиатуру для нашей первоапрельской шутки, ознакомьтесь с подкастом ниже.
Как человек, который годами без извинений копировал Stack Overflow, я не был удивлен, увидев миллионы событий копирования. Что меня удивило, так это количество вопросов, на которые мы наконец смогли ответить. Сколько людей действительно копируют из Stack Overflow? Люди просто копируют код? Люди с большей вероятностью скопируют принятый ответ?
Чтобы добавить некоторую направленность анализу, мы с командой составили список вопросов, на которые мы хотели ответить. То, что начиналось как шутка, превратилось в стоящее исследование, дающее новые идеи и вызвавшее множество внутренних дискуссий о том, как мы можем продолжать внедрять инновации в нашу общедоступную платформу и повышать ценность Stack Overflow для команд.
Данные
Используя наш собственный инструмент веб-отслеживания, мы создали настраиваемые события, чтобы фиксировать, когда пользователь копирует данные с сайта. С помощью этих событий мы смогли захватить множество различных атрибутов; теги, вопрос, ответ или комментарий, блок кода или обычный текст, репутация копировального аппарата и оценка публикации, регион, а также было ли сообщение принято или нет. Мы практически все захватили, кроме самого копируемого текста.
Мы собирали данные за две полные недели, с 26 марта 2021 года по 9 апреля 2021 года. Следующий анализ основан на поведении за это время.
Вопросы
Бен уже упомянул некоторую высокоуровневую статистику, которая быстро доказала то, о чем люди долго шутили: все копируют из Stack Overflow. Мы также быстро поняли, что общее поведение копирования близко соответствует тому, что мы уже знали о посещаемости нашего сайта. Большинство копий происходило в течение рабочей недели и в рабочее время. Наши крупнейшие регионы составляют большинство копий; Азия 33%, Европа 30% и Северная Америка 26%. Наконец, 86% всех копий пришли от анонимных пользователей, то есть пользователей с 0 репутацией.
Все стало интереснее, когда мы стали задавать более подробные вопросы о том, кто копирует и что копирует.
Пользователи с более высоким уровнем репутации копируют больше?
Для начала мы хотели посмотреть, копируют ли пользователи с более высокой репутацией больше.
Мы видим, что большинство копий поступает от пользователей с репутацией 0 . Это наши анонимные пользователи, потому что вы сразу получаете 1 респ, создав учетную запись. Возможно, что некоторые из этих копий принадлежат пользователям, у которых есть учетная запись, но они не вошли в систему. К сожалению, у нас нет возможности проверить эту теорию.
Поскольку у большинства пользователей нашей платформы более низкая репутация, давайте удалим группы, чтобы посмотреть, сможем ли мы нормализовать наши данные. Посмотрев на Число копий на пользователя вместо Всего копий мы можем увидеть среднее количество копий, которое делает пользователь, исходя из его репутации.
Глядя на эту визуализацию, кажется, что по мере увеличения Репутации Количество копий на пользователя уменьшается. Таким образом, чем выше репутация пользователя, тем реже он копирует. Эта связь присутствует, но не очень сильна, поэтому я не уверен, что пользователи с более высокой или более низкой репутацией копируют больше. Разработчики, которые обучаются, часто имеют более низкую репутацию и ищут вещи, которые могут ускорить их обучение и быстро начать работу. По мере того, как разработчики накапливают свой опыт, они также укрепляют свою репутацию и сосредотачиваются на более конкретных задачах, вещах, которые невозможно скопировать из Stack Overflow.
Копируются ли еще принятые сообщения?
Когда мы думаем о принятом ответе, мы можем подумать, что он лучший, и сделать вывод, что он скопирован гораздо чаще, чем непринятые. Однако, глядя на данные, мы обнаруживаем, что 52,4% копий получены из ответов, которые не принимаются . Но в среднем принятые ответы получают семь копий на одно уникальное сообщение, а непринятые — пять копий на одно уникальное сообщение. Таким образом, больше копий происходит из непринятых ответов, но есть более высокое повторное использование знаний из принятых ответов. В Stack Overflow мы определяем повторное использование знаний как повторное использование того, что другие уже узнали, создали и доказали.
Ответ принят | Всего копий | Уникальные сообщения | Процент | Копий на сообщение |
ЛОЖЬ | 18,773,517 | 3,934,860 | 52,44 | 5 |
ИСТИНА | 17,028,108 | 2,614,073 | 47,56 | 7 |
Стоит отметить, что на вопрос может даже не быть принятого ответа. Возьмите такой ответ: он набрал почти 4984 голосов и был скопирован 7943 раза в течение нашего исследования, но не принят. Собственно, ни один из ответов не принят. Это могло быть потому, что плакат с вопросами не видели с 2010 года, но и многие другие ответы действительны.
Копируются ли сообщения с более высокими оценками больше?
Итак, если принятые ответы больше не копируются, то ответы с более высокими баллами следует копировать чаще, верно? Давай узнаем!
Мы видим, что для ответов он, кажется, довольно равномерно разделен по нашим определенным группам оценок от 1 до 1000. Что касается вопросов, большинство копий взяты из сообщений с 1-5 баллами. Я подозреваю, что это потому, что пользователи копируют вопрос, чтобы воспроизвести его и в конечном итоге опубликовать ответ.
Как и при просмотре репутации пользователя, большинство сообщений на сайте имеют более низкий балл. Чтобы это нормализовать, давайте посмотрим на количество копий в сообщении.
Мы ясно видим, что по мере увеличения количества постов в Post Score увеличивается и Copies Per Post . Это имеет смысл, потому что по мере того, как пост увеличивается в рейтинге, более вероятно, что знания будут повторно использованы нашим сообществом.
Копируют ли люди отрицательные ответы?
А как насчет этих синих точек с отрицательной оценкой? Зачем кому-то копировать отвергнутые ответы? Что ж, мы никогда не хотим судить о книге по обложке.
Взгляните на этот ответ. Это был наш самый часто копируемый ответ, получивший отрицательное голосование, получивший оценку -2 и в общей сложности 288 копий. Если присмотреться, это кажется более сжатой версией принятого выше ответа с оценкой 29 и общим количеством 493 копий. Хотя у нашего сообщения с отрицательной оценкой не было больше копий, он является прекрасным примером сообщения «слишком долго не читал».
Какие теги копируются чаще всего?
Теперь о вопросе, на который я был очень взволнован, чтобы ответить: какие теги копируются больше всего? К сожалению, из-за большого размера данных и доступных ресурсов мне не удалось разобрать вложенные теги. Например, тег html не будет включать сообщения в | html | css | группировка тегов.
Десять наиболее скопированных тегов
Не удивительно, что теги, получающие наибольшее количество копий, являются одними из самых популярных и активных тегов в Stack Overflow. Единственное, что мне бросилось в глаза, это то, что python входит в четыре основных группировки тегов. Три из них — это группы тегов для аналитики данных; | питон | панды |, | питон | панды | фрейм данных | и | python | matplotlib |. Мне, как ботанику по данным, нравится, когда больше людей изучают эти инструменты.
Теги | Всего копий | Уникальные сообщения | Копий в сообщениях |
| html | css | | 265143 | 36198 | 7 |
| javascript | | 245709 | 33,419 | 7 |
] | питон | | 232 077 | 35 852 | 6 |
| питон | панды | | 222 643 | 19,220 | 12 |
| javascript | jquery | | 177,353 | 26,696 | 7 |
| python | pandas | dataframe | | 146,731 | 7,728 | 19 |
| python | matplotlib | | 138,404 | 8,045 | 17 |
| git | | 135 480 | 9 682 | 14 |
| php | | 117 373 | 20,771 | 6 |
| jquery | | 111,454 | 15,058 | 7 |
Десять тегов с наибольшим количеством копий в сообщении
Помимо просмотра тегов с наибольшим количеством копий, я хотел увидеть, какие теги имеют наибольшее количество копий на сообщение. Фильтруя теги, содержащие не менее десяти уникальных сообщений, мы можем ясно видеть, как теги становятся более конкретными, они получают больше копий на сообщение .
Теги | Всего копий | Уникальные сообщения | Копий в сообщениях |
| python | подавить предупреждения | | 5,031 | 10 | 503 |
| node.js | npm | npm-install | npm-start | npm-live-server | | 4,925 | ] 11 | 448 |
| python | graph | matplotlib | plot | visualization | | 12650 | 29 | 436 |
| sql | sql-server | tsql | системные таблицы | | 8,590 | 20 | 430 |
| windows | cmd | localhost | порт | командная строка | | 10,915 | 26 | 420 |
Какие сообщения копируются чаще всего?
Теперь отвечу на вопрос, который, я уверен, многих из вас интересует. Какой пост получил больше всего копий?
Ответ с блоком кода
С результатом 3497 и 11 829 копий я рад сообщить, что наибольшее количество копий получило Как перебирать строки в DataFrame в Pandas. Ответ на этот вопрос был дан в 2013 году, и он продолжает помогать тысячам людей каждую неделю.
Ответить простым текстом
Что касается наиболее часто копируемого ответа с обычным текстом, у нас есть TypeError: this.getOptions не является функцией [closed] с оценкой публикации 218 и общим количеством копий 1570. Хотя мы не смогли подтвердить это, я подозреваю, что копируется `sass-loader @ 10.1.1`.
Блок кодов вопросов
И самый часто копируемый вопрос с оценкой 2147 и 3665 копий: как создать кнопку HTML, которая действует как ссылка?
Простой текст вопроса
Наконец, самый часто копируемый вопрос с открытым текстом с оценкой поста 322 и 261 копий, у нас есть обновления, которые были отклонены, потому что верхушка вашей текущей ветки находится за своим удаленным аналогом. Это немного сложно, потому что есть несколько команд git не в блоках кода, которые легко могут быть скопированной частью вопроса. Но поскольку мы не фиксируем фактически скопированный текст, мы не можем это подтвердить.
Комментарий
Важно, чтобы ответы — это еще не все на Stack Overflow. Иногда все, что вам нужно, — это один полезный комментарий. Вот самые копируемые комментарии!
Первый комментарий — это наш комментарий, наиболее часто копируемый на сайте, а второй комментарий — это наш «невоспетый герой», поскольку у него всего пять баллов, но он был нашим шестым по количеству копируемых комментариев.
ОБНОВЛЕНИЕ: Был большой интерес к покупке реальной версии нашей шутки. Хорошая новость заключается в том, что мы ожидали, что это может произойти, и над чем-то работаем в этом направлении. Следите за новостями!
Теги: апрельские дураки, копирование кода, наука о данных