Почему большой/объемный pull request это плохо (или хорошо)?

Большой или объемный Pull Request может иметь как положительные, так и отрицательные стороны. Рассмотрим их подробнее:

Плюсы большого/объемного Pull Request:

1. Удобство для ревьюеров: Если изменения, внесенные в Pull Request, являются связанными и необходимо рассмотреть их в совокупности, то один большой PR может быть более удобным для ревьюеров, чем несколько мелких PR. Ревьюер может сосредоточиться на данном наборе изменений и просмотреть его целиком, вместо того чтобы переключаться между различными PR.

2. Сохранение истории изменений: Большой PR может помочь сохранить полную историю изменений и обеспечить целостность кода. Если каждая маленькая часть изменений будет представлена отдельным PR, то может возникнуть проблема, когда один PR будет зависеть от другого, и ревьюеры будут вынуждены переключаться между ними, чтобы понять весь контекст.

3. Легкая интеграция и отслеживание: Если большой PR удовлетворяет основным критериям работы проекта, то он может быть легко интегрирован и отслежен в основной ветке разработки. Таким образом, можно избежать разделения изменений на множество мелких PR, которые могут вызвать конфликты, проблемы слияний и потребовать дополнительных усилий для интеграции.

Недостатки большого/объемного Pull Request:

1. Сложность ревью: Большой PR может быть сложным для ревью из-за объема кода и времени, необходимого для его просмотра, понимания и анализа. Это может привести к упущению некоторых ошибок либо недостаточно детальному ревью.

2. Обратная совместимость: Если большой PR вносит значительные изменения в кодовую базу и несовместим с предыдущими версиями, это может вызвать сложности при интеграции или требовать дополнительной работы по обновлению исходного кода.

3. Увеличение времени ожидания: Большой PR может занять длительное время на ревью, что приведет к задержкам в процессе проверки и интеграции. Это может негативно сказаться на общей производительности команды и контроле качества.

В целом, решение о представлении большого или объемного Pull Request зависит от контекста и особенностей проекта. Важно найти баланс между размером PR, сложностью ревью и быстротой интеграции, чтобы обеспечить эффективную и безопасную разработку. Это может включать в себя разделение больших PR на более мелкие, но связанные части, чтобы облегчить их ревью и интеграцию.