Время код-ревью
Решил подробнее посмотреть, что же получилось под капотом.
Местами валидация оказалась в юзкейсах, были возможны гонки данных, не хватало транзакций на уровне application. Общее правило «писать по DDD» оказалось недостаточным.
Попросил модель провести код-ревью. Она нашла несколько проблем, но ни одну из тех, которые нашел я.
Тогда я начал разбирать отдельные куски кода и спрашивать, могут ли там возникнуть проблемы. После таких вопросов модель подсвечивала возможные гонки данных и предлагала решения.
Решил дописать правила явно: про транзакции на уровне application, доменную валидацию и другие требования к организации кода.
Заодно заметил, что миграции оформлены по-разному: часть — обычные SQL-файлы, часть — под `goose`. Зафиксировал в правилах, что все миграции нужно делать под `goose`.
Затем попросил агента найти расхождения с обновленными правилами и переписать код.
Примерно через час результат меня уже устраивал)
Решил подробнее посмотреть, что же получилось под капотом.
Местами валидация оказалась в юзкейсах, были возможны гонки данных, не хватало транзакций на уровне application. Общее правило «писать по DDD» оказалось недостаточным.
Попросил модель провести код-ревью. Она нашла несколько проблем, но ни одну из тех, которые нашел я.
Тогда я начал разбирать отдельные куски кода и спрашивать, могут ли там возникнуть проблемы. После таких вопросов модель подсвечивала возможные гонки данных и предлагала решения.
Решил дописать правила явно: про транзакции на уровне application, доменную валидацию и другие требования к организации кода.
Заодно заметил, что миграции оформлены по-разному: часть — обычные SQL-файлы, часть — под `goose`. Зафиксировал в правилах, что все миграции нужно делать под `goose`.
Затем попросил агента найти расхождения с обновленными правилами и переписать код.
Примерно через час результат меня уже устраивал)
Просмотры: 2