Обзор — важная часть разработки программного обеспечения, будь то просьба к кому-то поддакивать вам:

  1. Предлагаемая функция продукта — счастливый путь, несчастливые пути и общий способ интеграции с остальной частью системы.
  2. Ваш технический проект данной услуги/API, интеграции и т. д. (как вы собираетесь это спроектировать по отношению к тому, как – нефункциональные функции и т. д.).
  3. Запрос на вытягивание работы, которую вы выполнили, чтобы соответствовать (1) и (2)

Во время обзора есть дополнительный элемент — стиль и согласованность с остальной частью системы. Это субъективно, если только вы не используете линтинг и общие стили кода. Это экономит много аргументов в долгосрочной перспективе.

Как часть более крупного процесса, запросы на вытягивание действительно должны быть оптимизированы, чтобы их можно было выполнить в течение 24 часов. Мы должны оптимизировать каждую часть процесса разработки, включая время проверки, чтобы быть оптимальным с точки зрения потока. Вы же не хотите, чтобы работа стояла в очереди, фактически была узким местом и ждала завершения.

Соотношение фронтенда, бэкенда, тестирования и релиза должно быть адекватным, чтобы работа могла течь без наращивания.

Чтобы этого не произошло, я создал серию инструментов для API Github, чтобы понять, как развиваются различные организации. Это ни в коем случае не производственный код, кстати :)



Github также предоставляет набор привязок в Javascript и Typescript к своему API в виде различных библиотек. Я выбрал Octokit специально для этого, а не напрямую для API.



Чтобы получить список запросов на включение, вы можете сделать следующее:

https://gist.github.com/jph98/df866f46f9fa79004cb5a035105858f2

Оттуда вы можете делать все, что хотите. В моем случае было следующее:

Определить среднее время объединения за определенный период времени (последние 14 дней)

Получить список открытых запросов на вытягивание и как долго они были открыты

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

Вывод

Octokit и Github API позволяют анализировать и генерировать набор интересных статистических данных, чтобы оптимизировать процесс разработки, выявлять узкие места и решать их вместе с остальной командой.

Я инженер, ориентированный на продукт, и технический директор, вы можете узнать больше обо мне здесь и нанять меня на временную/долевую должность: