Как делать backward compatible changes?

Middle
179 просмотров
AFK Offer AI

Backward compatibility — новый код работает со старыми данными/клиентами. Для API: добавлять поля ок, удалять или менять — breaking change. Versioning: /api/v1/, /api/v2/. Для БД: expand-contract — сначала добавь новую колонку, мигрируй данные, переключи код, потом удали старую. Для protobuf/gRPC: никогда не переиспользуй номера полей, deprecated поля не удаляй. Для конфигов: новые поля с defaults. Правило: если сомневаешься — это breaking change. Семантическое версионирование: breaking = major version bump.

Следующий вопрос

Что такое constructor injection?