playbook

Про “code review”

Здесь мы хотели бы задокументировать некоторую культуру создания pull-request’ов, которую в дальнейшем было бы очень хорошо не нарушать в проектах, в которых вы работаете.

Эта нужда возникла с тем, что в последнее время стало слишком сложно, слишком затратно проверять чьи-либо правки. Попадаясь “проверяющим” на pull-request в проект, в котором ты, возможно, не особо участвуешь, и, собственно, не разбираешься даже в сути его работы в целом и, тем более, предложенных правок, ты (на текущий момент) вряд ли сможешь указать на что-то по “начинке”, видя лишь “оболочку” (нувыпоняли). Изменения большого объема даже банально пропадает желание смотреть. От части всё это происходит потому что сейчас pull-request’ы в большинстве случаев создаются без какого-либо дополнительного сопровождения, и быстро получить хоть какую информацию, которая поможет случайному участнику разобраться в правках, не получится.

Лирическая часть окончена.

Ваши действия

Итак, мы поняли проблему, и для её решения потребуются некоторые как единовременные, так и периодические действия от всех нас.

Вы - тот, кто создает pull-request

Вы - “ревьюер”

Тут, в отличии от пункта выше, особо никаких требований и пожеланий нет. Почти все следующие пункты можно обобщить фразой “не будьте говном”:

Вы - в каком-то смысле ответственный за коллегу, вливающего правки

Тут подразумевается должность “тимлида”, либо “ответственный” за какого-либо, например, стажера.

Вам стоит уделить его правкам повышенное внимание и, собственно, самому соблюдать максимальную (прямо вще! нувыпоняли) политкорректность. Понятное дело, предыдущий параграф к вам тоже относится. На вас также в большей степени лежит и ответственность за оформление этого pull-request’а таким образом, чтобы он был максимально всем доступен, так что следите за своими коллегами и по нужде немного “пинайте” их, чтобы всё у них было “супер-пупер”. Это, конечно же, могут делать и другие, но выжетимлид!

Вы - “главный” по проекту

Имеется в виду человек, который начал этот проект, либо который им сейчас занимается в наибольшей степени.

Вам, конечно же, стоит озаботиться исчерпывающим README.md, чтобы люди, которые начинают интересоваться проектом, могли осуществить более быстрый старт. Что туда вносить - ну, на ваше усмотрение. Это может быть описание структуры, описание его сути, описание процесса инициализации для начала работы над ним и всё такое прочее. На вас также лежит ответственность по оформлению CONTRIBUTING.md, если в нём есть нужда.

Заключение

Коллеги! Такие мысли. Создавайте приятные pull-request’ы, набирайтесь опыта в их оформлении, просматривайте правки других, не бойтесь задавать вопросы и вступать в разговор, если что-то непонятно.