Обзор — важная часть разработки программного обеспечения, будь то просьба к кому-то поддакивать вам:
- Предлагаемая функция продукта — счастливый путь, несчастливые пути и общий способ интеграции с остальной частью системы.
- Ваш технический проект данной услуги/API, интеграции и т. д. (как вы собираетесь это спроектировать по отношению к тому, как – нефункциональные функции и т. д.).
- Запрос на вытягивание работы, которую вы выполнили, чтобы соответствовать (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 позволяют анализировать и генерировать набор интересных статистических данных, чтобы оптимизировать процесс разработки, выявлять узкие места и решать их вместе с остальной командой.
Я инженер, ориентированный на продукт, и технический директор, вы можете узнать больше обо мне здесь и нанять меня на временную/долевую должность: