Обложка канала

Экстраполяция IT

Канал об IT в целом и о программировании в частности.

Экстраполяция IT

4 года назад
Открыть в
Маленькие пулл реквесты и рабочий мастер. Ни у кого не вызывает сомнения, что пулл реквесты должны быть чем меньше, тем лучше. Типа, удобнее делать ревью, искать ошибки и следить за прогрессом. Это да. С другой стороны, есть вполне здравое правило постоянной работоспособности мастер-ветки. Типа, деплой в любой момент, тесты проходят и баги ищутся проще, новые ветки все начинают с рабочего состояния и всякое такое. И проблема в том, что эти два правила вступают в логическое противоречие, когда маленький пулл реквест не сделает фичу целиком, а большой тяжело отсматривать. Как результат, в головах разработчиков побеждает правило работоспособного мастера и пулл реквесты на пару тыщ строк считается вынужденным злом. А фишка в том, что в мастере не должно быть законченное целое количество фич, а мастер просто должен быть рабочим. Нормальным будет сделать пулл реквест, в котором появляется абстрактный класс, а реализация — отдельными пулл реквестами. Если новые css стили вместе с описаниием и примерами появятся в одном пулл реквесте, а поголовноое приименение этих стилей — в другом. В общем, правила такие: 1. Пулл реквест должен быть как можно меньше. Если пулл реквест можно разбить на два отдельных — бейте. 2. В мастере должны проходить все тесты. Ну, или мастер должен технически запускаться и не падать, если вдруг у вас нет тестов. 3. Вполне допустимо в пулл реквесте сделать код, который не используется по назначению прям в этом пулл реквесте, а будет использоваться в следующих. И убедить коллег в работоспособности этого кода проще всего с помощью тестов. Или пистолета. 4. Технические изменения пулл реквеста должны описываться одним предложением. Не «сделал фичу», а «поменял сигнатуру метода» или «обновил библиотеку и зависимости». Человеческие описания оставьте задачам, а в пулл реквестах говорите о коде. #перечитываяэкстраполяцию