Больше Коммитов, Хороших И Разных

На мой взгляд, лучший способ узнать что-то новое в программировании — изучить коммиты в публичные репозитории.

Здесь вам и предельная практичность, и лучшие практики, и огромное разнообразие и так далее.

Есть только один неприятный момент — не каждое изменение репозитория можно считать поучительным или хотя бы сколько-нибудь информативным.

Более того, почти никогда не удается восстановить полный контекст, в котором появилось то или иное изменение – его может знать только сам автор.

Можно ли еще в таких условиях извлечь крохи полезной информации? Итак, позвольте мне повторить мою отправную точку:

  • У нас есть набор коммитов в разные публичные репозитории.

  • Контекст, вызвавший изменения, содержащиеся в коммитах, неизвестен.

  • Этот набор коммитов содержит те, которые несут в себе мудрость или просто интересны.

Возникает вопрос, как отделить «мух от котлет» — можно ли выделить из общей кучи те изменения, которые будут нам полезны? Первая мысль, которая приходит в голову — придумать правило, по которому ранжировать входящие коммиты и выбирать из них «лучшие» (те, которые лучше соответствуют придуманному правилу).

Само это правило, конечно, не может быть единым — оно слишком простое) Скорее всего, это должен быть набор более мелких правил, ограничивающих те или иные параметры.

Например:

  • Размер изменения.

    Вряд ли кто-то будет читать огромные коммиты в тысячи строк.

  • Соответствие языка программирования.

    В каждом репозитории есть основной язык программирования, и весь основной код написан на этом языке.

    Но есть еще куча сопутствующих файлов (скрипты автоматизации, файлы конфигурации, документация), которые тоже могут быть изменены.

    Конечно, без контекста они не представляют особого интереса.

  • Отношение автора к внесенным изменениям.

    Это единственное, что можно вырвать из контекста — никто не сможет оценить проделанную работу лучше, чем сам программист. Поэтому, если он напишет в комментарии «магия (уродливый грязный хак)!», то вряд ли этот коммит следует рассматривать как предел совершенства.

    Помимо комментария к коммиту, полезно также проанализировать комментарии к самому изменению.

Используя эти правила, мы можем отбросить большую часть шлака и оставить коммиты, более или менее соответствующие нашим ожиданиям.

Но в качестве последнего штриха было бы неплохо дать возможность дать оценку комитету живому человеку, что сделает анализ более корректным.

Примерно такие мысли крутились у меня в голове некоторое время назад, и я решил реализовать их в виде веб-сервиса.

thebestcommits.info .

Это пока очень сырой прототип, в котором реализован только базовый функционал.

Сервис ежечасно собирает данные о коммитах Github с githubarchive.org, анализирует их и отображает в виде слайдов презентации на странице браузера.

Внутреннее устройство состоит из Golang и Python, графическое представление реализовано с помощью show.js. Мне интересно мнение сообщества по поводу этой идеи.

Достаточно ли интересно развиваться дальше? В опросе могут участвовать только зарегистрированные пользователи.

Войти , Пожалуйста.

Вас заинтересовала эта идея? 60% Да, интересно - возможно воспользуюсь 150 40% Нет, бесполезная вещь 100 Проголосовали 250 пользователей.

92 пользователя воздержались.

Теги: #github #идея #программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.