В современном мире разработки программного обеспечения, где скорость и качество кода имеют первостепенное значение, инструменты для совместной работы становятся неотъемлемой частью рабочего процесса. Пулл-реквесты (pull requests) на GitHub являются ключевым элементом для управления и рецензирования изменений в кодовой базе. Недавно GitHub представил в публичном превью улучшенный опыт просмотра изменений файлов в пулл-реквестах, который уже получил положительные отзывы пользователей и разработчиков по всему миру. Новый интерфейс страницы «Изменения файлов» направлен на решение множества ранее существовавших проблем, а также на предоставление новых возможностей, которые делают процесс рецензирования быстрее, удобнее и доступнее для всех пользователей. Одним из ключевых улучшений стала производительность.
В условиях больших проектов с обширными изменениями часто наблюдались задержки и высокое потребление памяти при загрузке диффов. Теперь GitHub значительно оптимизировал процесс рендеринга изменений, что позволило сделать его максимально быстрым и менее ресурсоёмким. Благодаря этому разработчики могут просматривать даже крупные пулл-реквесты без ощутимых задержек, что положительно сказывается на продуктивности работы. Вторая важная сфера изменений коснулась доступности. GitHub уделил внимание тому, чтобы интерфейс стал удобен для пользователей с особыми потребностями.
Были добавлены улучшенные возможности клавиатурной навигации, а также внедрены экранные метки, которые упрощают работу со страницей для пользователей со вспомогательными технологиями. Такое внимание к инклюзивности значительно расширяет круг пользователей, которым комфортно работать с платформой, делая процесс рецензирования инклюзивным и справедливым. Особое внимание уделено и визуальному восприятию. Теперь панель с деревом файлов является изменяемой по размеру, что позволяет адаптировать её под любой размер экрана, максимально используя доступное пространство, что особенно актуально при работе с большими мониторами. Кроме того, появились индикаторы комментариев и аннотаций прямо в дереве файлов, что помогает быстро ориентироваться и находить файлы с важными замечаниями, ошибками или предупреждениями.
Полезным дополнением стала новая боковая панель, которая облегчает поиск комментариев, включая возможность текстового поиска по ним. Это значительно упрощает коммуникацию между участниками команды, позволяя быстро находить обсуждаемые моменты, не теряя время на пролистывание каждого файла. Одной из популярных проблем в ходе рецензирования кода была необходимость повторного ввода комментариев после обновления страницы. В новой версии локальные черновики комментариев сохраняются даже при обновлении, что приносит ощутимое удобство и экономит время. Разработчики также могут беспрепятственно переключаться между разными видами просмотра изменений — объединённым и разделённым, в зависимости от своих предпочтений или задачи.
Такой гибкий интерфейс позволяет выбрать оптимальный режим для анализа конкретного пулл-реквеста. Серьёзные улучшения коснулись и панели с ошибками и предупреждениями — она теперь интегрирована в боковую панель обзора. Пользователь получает быстрый доступ к аннотациям, выданным статус-чеками, что повышает видимость и позволяет оперативно реагировать на проблемы в коде. С точки зрения пользовательского опыта изменилась и работа с комментариями. По умолчанию комментарии теперь отображаются свернутыми, что уменьшает визуальный шум и позволяет сфокусироваться на основном коде.
При желании, пользователь может изменить это поведение через настройки либо при помощи ускоренных клавиш. Строки кода стали отображаться с увеличенным межстрочным интервалом, что улучшает читаемость; при этом можно активировать компактный режим для тех, кто предпочитает более плотное размещение текста. Фильтрация файлов стала более универсальной — теперь она применяется не только к дереву файлов, но и к отображаемым диффам, что позволяет эффективнее управлять большим количеством изменений и быстро находить необходимые участки кода. Несмотря на значительные улучшения, новая версия пока имеет ограничения, поскольку находится в стадии публичного превью. Например, пока отсутствует возможность одновременно применять сразу несколько предложенных изменений, по-прежнему нельзя выполнить обзор отдельного коммита, а также пока не поддерживаются предварительные просмотры диффов для изображений и файлов в markdown.
Некоторые функции, такие как отображение предупреждений от сканирования кода, аннотаций в неизменённых файлах и поддержка мобильных устройств, находятся в разработке. Существуют ограничения и по объёму обрабатываемого содержимого — пока максимальное количество файлов ограничено 300, что достаточно для большинства проектов, но может потребовать оптимизации в очень крупных репозиториях. GitHub активно собирает обратную связь от пользователей, чтобы сделать новый опыт ещё лучше. Для этого организована специальная дискуссия, в которой можно ознакомиться с известными проблемами, предложениями по улучшению и оставить собственные комментарии. Это открытый и прозрачный процесс, направленный на создание максимально удобного инструмента для разработки.