Есть ли у вас шаблоны, по которым вы оформляете Pull Request?
У меня пригорает от пустых пул реквестов или описаний, которые не помогают ревьюеру
Открываешь такой пул реквест с однострочным описанием, а там 30 файлов изменено.
«Разбирайся сам, дружок», — как бы говорит мне создатель
На фронтенде это особенно больно, потому что разницу до и после можно увидеть только запустив две версии рядом или что-то прокликав.
Чувствуешь заботушку, когда автор это сделал за тебя
У нас завелась завелась практика делать видео демки. Самый простой вариант — позвонить себе в Zoom и записать экран.
Я использую Loom, чтобы не возиться с файлами на компе. Вот пример такой демки: loom.com/share/1b1b76b9…
Первое время было странно записывать видосики, а сейчас без них PR выглядит голым.
Мне они помогают лишний раз убедиться, что финальный вариант работает как надо. Ни что не бесит тестировщиков, как сломанный первый же кейс 😂
Если задача повлекла архитектурные изменения, то я делаю видео ещё и про них.
Альтернативно, коллеги иногда описывают, на какие файлы нужно особо пристально посмотреть.
В наш битбакет не завезли шаблоны PR, но внутренняя договоренность — отвечать на три вопроса:
* What — что за изменение
* Why — почему оно нужно
* How — как сделано
Дальше свободный текст по желанию. Вот пример:
Я получаю удовольствие от описания, которого достаточно для качественного ревью.
Когда меня не заставляют ходить и собирать крупицы знаний о задаче: в жиру за описанием, в скетч за дизайном
Не вижу ничего страшного в том, чтобы отказаться ревьюить пул реквест. Я несколько раз писал «извини, но у меня нет контекста, а этот PR слишком большой»
Понятно, что PR назад не открутишь, но решение находится: ревьюить с автором, найти погруженного человека, слить как есть
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Дизайн-системы внедрять сложнее, чем библиотеки компонентов потому что количество людей, которые должны договориться на порядок выше
По моему опыту, дизайн-системы появляются у существующих бизнесов, когда накопилось понимание, как выглядят интерфейсы компании
Мне кажется странным делать дизайн-систему в компании с новым или единственным продуктом. Лучше взять готовую библиотеку компонентов
И дизайн-системы, и библиотеки компонентов решают несколько продуктовых задач. Чтобы объяснить пользу бизнесу, я использовал такие аргументы:
* готовые блоки ускоряют time-to-market продукта и новых фичей
* предоставляем похожий UI во всех продуктах
* уменьшается количество багов
Чтобы хоть как-то говорить про дизайн-системы, нужно определиться с терминологией. Мне кажется важным разделить два понятия: дизайн-система и библиотека компонентов (UI Kit)
Библиотека компонентов — это набор готовых строительных блоков для создания интерфейсов. Дизайнеры нарисовали, разработчики напрогали и переиспользуют.
Очень утилитарная штуковина для ускорения разработки интерфейсов
Дизайн-система — это инструмент для формирования общих подходов и паттернов проектирования интерфейсов в компании. Такой альманах, как нужно делать интерфейсы.
Она обычно включает в себя библиотеку компонентов, но может и не включать.
Чтобы участники команды чувствовали себя её частью и принимали командные решения, такие решения должны ощущаться справедливыми
Справедливость во многом — это наличие явных правил принятия решений. Подходов к принятию решений много, расскажу про основные. Идеального, конечно, нет
Подходы обычно оценивают по нескольким параметрам:
* скорость принятия решения
* уровень вовлечённости участников
* прозрачность
Первый метод — автократический. Решение принимает один человек, показывая всем свою альфовость
Скорость быстрая, прозрачность околонулевая, никто обычно не вовлечён в принятие решения.
Апгрейд этого подхода — консультативный, когда есть советники