> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/pt-br/2020/w28-definitions-and-interface-dependencies.md).

# W28-Definições e dependências entre interfaces

### A importância das definições <a href="#id-ding-yi-de-zhong-yao-xing" id="id-ding-yi-de-zhong-yao-xing"></a>

Muitas confusões e indefinições de responsabilidade no cotidiano começam na definição dos conceitos. Às vezes ela é imprecisa; às vezes é clara, mas não há consenso. Por exemplo, ao atribuir um bug no ones, o QA pode ter dificuldade de escolher a pessoa certa em situações complexas. A causa é a falta de uma definição compartilhada de quem é o responsável indicado. Sem clareza, tratamos a palavra como um conceito composto: quem causou o problema, quem o resolve e quem responde por ele. Basta alguma complexidade para surgir ambiguidade. Uma definição simples pode resolver a questão: atribuir o bug a quem fará a correção. O responsável indicado é quem o trata. Isso não determina culpa. Encontrar a causa e a responsabilidade é trabalho da análise de COE.

### **O efeito das dependências entre interfaces sobre a compatibilidade com versões anteriores** <a href="#id-jie-kou-jian-yi-lai-dui-xiang-xia-jian-rong-de-ying-xiang" id="id-jie-kou-jian-yi-lai-dui-xiang-xia-jian-rong-de-ying-xiang"></a>

Em uma arquitetura com frontend e backend separados, alterações de interfaces precisam preservar a compatibilidade com versões anteriores. Em geral, acrescentam-se campos ao backend sem modificar os existentes. Sem compatibilidade, nem mudar a ordem de publicação nem criar uma chave para alternar entre interfaces antigas e novas evita picos de erro no momento da transição. É preciso atenção especial às dependências entre chamadas. Mesmo que a interface antiga não seja alterada e apenas uma nova versão seja criada, pode haver dependência de uma chamada anterior. Se ela fornece a URL da chamada seguinte, por exemplo, é necessário verificar se trata de forma compatível a nova interface posterior.
