Gostaria de tentar esclarecer o significado de um termo frequentemente usado no desenvolvimento de software que é o Breaking Changes
Breaking Changes é uma comunicação entre criadores de libraries/frameworks e seus usuários afim de informar que houve mudanças nas API públicas do softwares e dependendo que como a tecnologia for usada pode causar comportamentos inesperados, não necessariamente erros.
Do ponto de vista de uma aplicação os criadores são os times (squads) que são compostos de pessoas de diferentes áreas não apenas desenvolvedores, já os usuários normalmente são os clientes da empresa e/ou pessoas internas de outras áreas. Dentro desse escopo uma breaking changes é uma mudança no uso da aplicação que pode gerar um resultado inesperado.
No nosso dia a dia nós usamos o termo para se referir a:
- Inclusão de funcionalidades
- Correções de bugs
- Mudanças internas da qual os usuários não conhecem ou não usam
Sendo que nenhum desses casos representam uma breaking change.
Mudanças internas mesmo aquelas que podem quebrar algum código existente não representam uma breaking change, dado que é de responsabilidade dos criadores manter as API internas do software funcionando com o passar do tempo.
Um uso correto do termo seria:
- Informar a remoção de uma funcionalidade pública.
- Informar que houve mudanças de regras de uma funcionalidade pública de tal forma que possa gerar um comportamento inesperado.
Em linhas gerais, deveria ser raros os casos onde uma aplicação gera uma breaking change.
Top comments (0)