Весь открытый исходный код в GitHub теперь доступен в BigQuery. Давай, проанализируй все это. В этом посте вы найдете ресурсы, о которых я знаю на данный момент:
Обновление: я знаю, что сказал все, но это еще не все. Я обновляю ответы на эти и другие вопросы на странице github.com/fhoffa/analyzing_github.
Конвейер отражает код из:
- Проекты, имеющие четкую лицензию с открытым исходным кодом.
- Вилки и / или малозаметные проекты не включены.
- Тем не менее, он представляет собой терабайты кода.
Официальные источники:
Углубленный анализ
- Прочтите Пошаговое руководство от Francesc, чтобы проанализировать код Go. Используйте эти шаблоны и для любого другого языка :).
- Запустите полный статический анализатор кода JavaScript в запросе SQL: Запуск JSHint внутри BigQuery.
- Импорт Java: Наиболее часто используемый импорт Java, с 2013 по 2016 год.
- Вверх Угловые директивы.
- Табуляция или пробелы (священные войны).
- Запятые SQL - в начале или в конце?
Жду ваших отзывов - добавлю сюда:
- Через час после объявления набора данных @thomasdarimont смог найти все java-проекты, декларирующие определенную зависимость.
- Лакшманан В. Популярные Java-проекты на GitHub, которым может понадобиться помощь (проанализировано с использованием BigQuery и Dataflow).
- Гийом Лафорж Чему мы можем научиться из« миллионов строк кода Groovy на Github ?».
- Филиппо Валсорда « Анализ Go Vendoring с помощью BigQuery ».
- Проект Go использует статистику BigQuery для принятия дизайнерских решений, более одного раза.
- Дэвид Гагеот анализирует 281 212 Docker проектов.
- Кан Нисида использует R для кластеризации R пакетов.
- Аджа Хаммерли сравнивает самые популярные драгоценные камни согласно Rubygems.org данные загрузки и вызовы гемов GitHub.
- Сергей Абакумов рассматривает самые популярные пакеты npm и популярные ключевые слова. Джастин Беквит проводит аналогичный анализ. Сергей продолжает более глубокую оценку того, почему почти пустые пакеты дублируются по всему GitHub. Сергей Абакумов также анализирует сообщения Angular vs React.
- Брент Шаффер анализирует код и библиотеки PHP, а также тестирует покрытие для разных языков.
- Полная версия Егора Жука, « Еще один анализ данных Github с помощью Google BigQuery ».
- Джон-Дэвид Далтон информирует команду travis-ci о количестве протестированных версий Node.
- Алекс Житницкий проверяет 779 236 заявлений журналирования Java и 1313 репозиториев GitHub, чтобы определить ОШИБКА, ПРЕДУПРЕЖДЕНИЕ или ФАТАЛЬНЫЙ?
- Флорин Бадита « Соглашения об именах в операторах импорта Python ». Затем Соглашения об именах в Python def function () ».
- Гийом Лафорж « Анализ полумиллиона файлов сборки Gradle - блог Гийома Лафоржа , 2017 «Gradle vs Maven и Gradle в Kotlin или Groovy »
- @anvaka « проанализировал ~ 2 ТБ кода для построения индекса наиболее употребительных слов в языках программирования ». Классные визуализации, полный код на GitHub и много комментариев на reddit.
- Сергей Абакумов возвращается, связывая код с StackOverflow.
- Гарет Рашгроув находит всевозможные метрики для Puppet.
- Жюстин Танни рассказывает нам, как гуглеры использовали BigQuery и GitHub для исправления тысяч уязвимых проектов (HN).
- Уокер Харрисон обнаружил, что блокноты Jupyter (.ipynb) больше всего импортируются.
- Джейк МакКрари выбрал лучшую библиотеку Clojure.
- Себастьян Балтес отправился искать код Stack Overflow, который появляется в проекте GitHub.
- Стерен Джаннини нашел все постоянные регулярные выражения в Go - чтобы улучшить возможности регулярных выражений Go (статья).
- Мэтт Уоррен анализирует код C # на GitHub с помощью BigQuery.
- Михал Янашек Состояние скриптов npm (запросы).
Серия постов Роберта Козиковски:
- Расширенный поиск GitHub с помощью BigQuery.
- Лучшие пакеты emacs, используемые в репозиториях GitHub.
- Визуализация отношений между пакетами python.
подсказки
- Не анализируйте основную таблицу [bigquery-public-data: github_repos.contents] - при 1,5 ТБ она мгновенно израсходует ваш ежемесячный бесплатный терабайт. Вместо этого используйте официальный извлечение [bigquery-public-data: github_repos.sample_contents] (~ 23 ГБ) или одну из полных языковых таблиц, которые я оставил в [fh-bigquery: github_extracts.contents_ *].
- Как насчет того, чтобы выполнить СОЕДИНЕНИЕ между этим новым набором данных и архивом GitHub, чтобы найти файлы с наибольшим количеством звезд и их шаблоны? Пример кода скоро, но посмотрите, как я раньше играл с звездами GitHub и Hacker News.
- Я очень рад получить часовые пояса автора и коммиттера. Здесь мы сможем провести региональный анализ.
Визуализации
- Google Панель управления Data Studio 360 (предыдущий пост о Data Studio).
Дополнительные ресурсы
- Подкаст: Я, Уилл Карран и Арфон Смит рассказывают о деталях этого объявления и многом другом в Журнале изменений №209.
- GitHub Archive, мониторинг GitHub с 2011 года.
Нажмите
Социальные медиа
Оставайтесь любопытными! И найдите меня в Твиттере по адресу @felipehoffa.