Интерфейс Гитхаба
У меня бомбит от интерфейса Гитхаба. Он работает по странному принципу: показывает то, что не нужно и не показывает то, что нужно.
Когда я открываю pull request, то хочу увидеть изменения в файлах. Поскольку я обычный программист, не гений и без заскоков, полагаю, это желание подходит большинству. Почти всегда, когда мне кидают PR, я знаю заранее, с какой задачей он связан, и сразу смотрю файлы. Только в редких случаях мне нужно прочесть описание.
В интерфейсе PR файлы задвинуты на последнюю вкладку “Files changes”, и я не верю, что этому есть разумная причина. Файлы это суть PR, с какой стати задвигать их в конец? Это же самое нужное! Изменения должны быть сразу под описанием, чтобы не кликать, а просто смотать экран.
Есть ли на этой вкладке хоть грамм полезной информации? Если да, чем он важнее 18 измененных файлов?
Далее эти дурацкие табы. Проблема в том, что на вкладках располагаются не только данные, но и кнопки. Например, закрыть PR можно только со вкладки “Conversation”. А поставить аппрув только со вкладки “Files”. В итоге постоянно кликаешь на первый и последний табы.
Первый и последний, Карл! Уже это говорит, что как минимум они должны быть рядом, если не объединены в один.
По этой причине я пользуюсь трюком: когда кидаю ссылку на PR, добавляю к концу /files
, то есть не ...project/pull/3
, а ...project/pull/3/files
. При таком раскладе у человека сразу откроются файлы, и не придется переключать табы. Мелочь, а приятно, особенно если собеседник понимает этикет и отвечает тем же.
Судите сами: вот мне пришел PR с комментарием. Рассмотрим действия, которые я должен выполнить для мерджа:
- открыть ссылку на PR;
- перейти на files, чтобы бегло посмотреть, что внутри;
- если все хорошо, вернуться на вкладку conversation;
- нажать merge;
- нажать delete branch.
По мне все можно уместить на одной странице и работать без кликов.
Из-за особенностей интерфейса кнопка “delete branch” находится выше “merge”, то есть сначала нажимаешь ту кнопку, что ниже, а потом выше. Это ни в какие ворота: экран мотают сверху вниз, и чем ниже кнопка, тем она важнее.
В целом интерфейс Гитхаба шумный и грязный. На закладке “Conversation” схематично указаны коммиты, хотя есть отдельная вкладка “Commits”. Зачем размазывать их по двум вкладкам? Все, что касается коммитов, должно быть в “Commits”.
Даже если у PR нет описания, будет пустой комментарий вида:
igrishaev commented 20 minutes ago
No description provided
Спрашивается, что именно commented? Зачем писать о том, чего нет?
Особую грусть вызывает мобильное приложение Гитхаба. Почему-то оно не может нормально показать код: кнопка “Browse code” вечно болтается внизу. Что мешает сделать ее первой? В этом плане Гитхаб напоминает современный Дропбокс: приложение плохо показывает то, с чем работает.
Однажды я хотел закрыть PR со спамом, но не нашел кнопку “Close pull request”. Возможно, она была под выпадашкой или вроде того, но увы, я пас.
Слева: где посмотреть код? Справа: как закрыть PR?
Мне кажется, интерфейс Гитхаба разжирел, и пора устроить ему чистку. Он достиг стадии “впихнуть невпихуемое”, как это бывает с продуктами, которые часто выкатывают фичи. Интерфейс должен щадить пользователя: не вываливать на голову все подряд в надежде, что кому-то пригодится. Интерфейс — это оборона пользователя от того ада, что творится на серверах. Давайте помнить об этом, хоть я и не верю, что дизайнеры Гитхаба меня услышат.
Нашли ошибку? Выделите мышкой и нажмите Ctrl/⌘+Enter
Мимо проходил, 5th Oct 2022, link
Да нормально всё с табами: если мне прилетит ссылка на PR, я первым делом пойду читать его описание и комментарии (при наличии), чтобы понять, какую задачу он решает, и что уже успели написать в комментариях.
Если никакую, то я его закрою с этой же вкладки либо сразу, либо после обсуждения.
Потом я посмотрю на количество комментариев: если их там больше одного, то я скорее всего пойду смотреть изменения в каждом из них в отдельности, а не скопом.
Потом я посмотрю, прошли ли тесты и прочая автоматика: если код изначально неработоспособен, то либо нужно указать на это, либо сразу в голове поставить отметку про сбойный кейс.
И только потом я пойду вычитывать изменения в коде. А если требуется только это, то проще давать ссылку на ветку: комментарии можно писать и к отдельным коммитам.
mico, 6th Oct 2022, link
https://github.com/magit/forge пробовал?
Ivan Grishaev, 10th Oct 2022, link
Не знал о таком, посмотрю. Насколько я понял, это review при помощи Emacs?
mico, 21st Nov 2022, link
Да, вроде как как раз для тех кто не хочет ходить в web-интерфейс GH. О недостатках не могу сказать, потому что несмотря на несколько порывов так и попробовал.