Declaração
P03 A complexidade pertence ao sistema
O fato de ser complexo de construir não significa que deva ser complexo de usar.
Tensão
Explicação
Quando a interface replica a arquitetura, a pessoa tem que aprender como o produto foi construído antes de obter algo dele. Essa transferência parece inevitável apenas porque é conveniente para o time.
Aprofundar: Tensão
Quando a interface replica a arquitetura, a pessoa precisa aprender como o produto foi construído antes de obter valor. Essa transferência costuma parecer inevitável apenas porque é conveniente para o time.
Significado
Explicação
O domínio pode exigir regras, integrações e exceções. O time absorve essa complexidade e a apresenta como decisões compreensíveis; as tabelas e os estados internos não ditam a linguagem nem a navegação.
Aprofundar: Significado
O domínio pode exigir regras, integrações e exceções. O time deve absorver essa complexidade e apresentá-la como decisões compreensíveis. As tabelas, os estados e os serviços internos não deveriam ditar a linguagem nem a navegação da pessoa.
Consequência
Explicação
Os conceitos internos são traduzidos para o modelo mental da pessoa que usa o produto. O sistema resolve o que pode com o contexto disponível, e uma exceção só é mostrada à pessoa que realmente deve decidi-la.
Aprofundar: Consequência
Traduzir conceitos internos para a linguagem e o modelo mental da pessoa.
Resolver dependências, valores padrão e sequências quando houver contexto suficiente.
Expor uma exceção apenas a quem realmente deve decidi-la.
Exemplo
Um serviço de entregas precisa saber se um pacote é nacional ou internacional. Em vez de perguntar, ele deduz isso pelo endereço de destino e só solicita os dados aduaneiros quando são necessários.
Contraexemplo
Começar uma explicação com caminhos de arquivos, configurações ou comandos antes que a pessoa entenda para que servem.
Sinal de descumprimento. Pedir que a pessoa escolha primeiro um tipo de registro interno, sem que essa distinção tenha significado para ela, expõe o esquema de dados como se fosse uma necessidade humana.
Teste de decisão
Estas perguntas separam os passos que existem para a pessoa daqueles que existem para o sistema.
Este passo existe por uma necessidade da pessoa ou pela estrutura do sistema?
Estamos mostrando uma entidade técnica que poderia ser traduzida ou inferida?
A pessoa precisa compreender esta regra para tomar uma boa decisão?
Fonte
Núcleo do manifesto v2.1, seção PRINCÍPIO 3 · P03. Baixar o núcleo