Comments 8
Один коммит - одна причина - один набор доказывающих тестов / типов
SRP
По остальную часть статьи: код дешёв, ревью дорого
Это для продакшна? А то я, когда например неделю пилю новую фичу, коммичу разве что когда домой ухожу [wip] commit changes
Вот когда фича запилена, тогда уже правки комитятся более-менее атомарные, с описанием.
Это норм или нет? Я считаю что норм 🤔
Хорошо, не один коммит, а один мерж реквест
Давайте я просто наброшу на вентилятор. Автор смешивает в одну кучу commit и merge (pull) request, а это не одно и то же. Попытка сделать атомарные коммиты разбивается о реальность, когда простые изменения можно сделать поэтапно, а большие нет. Но в простых от них и нет особой пользы, а в итоге проблема с большими изменениями так и не решена. Описание для request'а это уже по сути задача сборки change log'а или release notes, да полезно, но описание в 3 абзаца не помогает понять где именно эти изменения были произведены и не добавляет им атомарности. Для любителей раCCовой частоты Git истории со squash коммитами при мерже специально заготовлен отдельный котел.
В итоге это все происходит от изначального несовершенства инструментария, когда мы заставляем человека руками менеджить состояние кода и выстраивать чепочку истории, вместо того чтобы сохранять список всех изменений (как для undo/redo лога) с автоматической сборкой каждой промежуточной версии (итеративно, с пометкой о ее работоспособности). Сейчас же память дешевая (ха-ха) давно пора уже перейти на continuous version control.
Просто мало кто делает последовательно по блокам: код, бизнес логика, цсс и тд и тп. Делаешь по чуть чуть всего и в итоге выходишь на результат
Обычно же коммитишь что попало (потому что хочется сохраниться в конце дня, может быть нужно прогнать CI/CD или поделиться с коллегой прогрессом, может быть нужно переключиться на другую ветку). Коммиты просто снапшоты работы в рандомные моменты, как звезды сошлись.
А уже в PR причесываешь, собираешь одну фичу.
AI ускоряет внесение изменений быстрее, чем мы успеваем их осмыслить