AULA 41 / 61 · ACESSO GRATUITO

Dados conteúdo e configuração como comportamento

Graciliano TolentinoEngenharia Caracol · Edição 2.0
Nesta aula
  1. Reconhecer entradas além do formulário
  2. Contrato conceitual preenchido
  3. Preparar a validação e a aprovação
  4. Do erro ao reparo observável
  5. Erros e condição de avanço
  6. Exercício e solução

Reconhecer entradas além do formulário

Um arquivo de dados, uma variável de configuração e o texto publicado alteram o que o programa faz. O código pode estar correto e ainda apresentar um serviço encerrado se o catálogo estiver desatualizado. Na Oficina Caracol, usamos dados artificiais e uma estrutura explícita, descrita junto ao pacote. O schema, ou esquema, declara a forma esperada: campos, tipos e restrições. A validação compara a entrada com esse contrato e produz uma decisão antes da publicação.

Convém distinguir três perguntas. A estrutura é válida? O conteúdo representa algo autorizado e atual? A configuração corresponde ao ambiente? Um texto bem formado não demonstra sua veracidade. Uma URL com sintaxe válida não demonstra que o destino existe ou que pertence à organização esperada. Verificações de estrutura, regra de negócio, disponibilidade e autoridade precisam ser escolhidas separadamente [S18, documentação sobre tipos e objetos; S03, práticas de definição e verificação de requisitos].

Contrato conceitual preenchido

O schema efetivo de pratica/data/casos.json contém exatamente id, titulo, descricao e ativo. As três primeiras propriedades são strings não vazias; ativo é booleano; os identificadores são únicos; propriedades extras são rejeitadas. A tabela usa os nomes reais para relacionar estrutura e publicação. Evidências e autorizações editoriais podem ser registradas nos documentos de apoio, sem acrescentar campos desconhecidos ao arquivo do catálogo.

Elemento conceitualRegraEntrada fornecidaDecisão esperada
idString não vazia e única no conjuntoAAceitar se nenhum outro registro usar A
tituloString não vazia; revisão editorial separadaOficina de diagnósticoAceitar estrutura e encaminhar conteúdo à revisão
descricaoString não vazia; conteúdo autorizadoDescrição fictícia para estudoAceitar estrutura; identificar como demonstração
ativoBooleano obrigatóriofalseAceitar como dado; não listar publicamente
Propriedade extraCampos fora do contrato são rejeitadosimagemRejeitar estrutura; documentar origem/autorização fora deste schema

Preparar a validação e a aprovação

  • Documente o schema real com tipos, campos obrigatórios, valores permitidos e política para campos desconhecidos. Não converta silenciosamente uma entrada inválida em conteúdo aprovado.
  • Separe erros de estrutura de decisões editoriais. A primeira categoria pode ser automatizada; a segunda requer fonte e autoridade apropriadas ao conteúdo.
  • Execute npm run validate dentro de pratica para as verificações implementadas. Leia o alcance declarado pelo comando e resolva cada erro antes de publicar.
  • Mantenha a configuração necessária a cada ambiente identificada, sem incluir segredos no repositório. Mudanças de configuração também precisam de revisão e evidência.
  • Planeje alterações de estrutura com compatibilidade, migração e reconciliação. Reconciliação é a comparação entre o conjunto esperado e o resultado produzido para detectar perdas ou diferenças indevidas.

Do erro ao reparo observável

Considere um registro cujo campo ativo esteja ausente. validarCasos deve lançar TypeError para essa entrada. Na fronteira HTTP, catálogo inválido produz resposta 500 com mensagem pública genérica, sem revelar detalhes internos. Transformar ausência em ativo para evitar um erro mudaria a política de publicação. O reparo é decidir o valor a partir da fonte autorizada e validar novamente. A mensagem de diagnóstico apropriada ao mantenedor deve permitir localizar a regra violada sem expor informação indevida ao visitante.

Agora considere uma troca de nome de campo. A migração recebe três registros de exemplo e deve produzir três registros equivalentes na nova estrutura, preservando identificadores e indicador de atividade. A contagem ajuda, mas não basta: três registros incorretos ainda totalizam três. A reconciliação compara os valores relevantes antes e depois. O resultado deve ser registrado como esperado até a execução; só então pode receber observado e veredito.

Erros e condição de avanço

ProblemaReparo e evidência
Campo opcional tratado como obrigatório por uma telaAlinhar contrato e consumidor; testar presença e ausência permitida
Conteúdo sem fonteIdentificar fonte e autoridade ou suspender a publicação do trecho
Configuração funciona apenas na máquina de quem criouDocumentar a configuração necessária e reproduzir o fluxo no ambiente declarado

O capítulo avança quando a estrutura passa nas validações aplicáveis, o conteúdo tem aprovação pertinente e a configuração foi verificada no ambiente de destino. O gate registra resultados e decisões, além de lacunas não impeditivas aceitas. Aprovar o texto não corrige um schema inválido; cada camada conserva sua própria evidência.

Exercício e solução

Dados: A tem id, titulo e descricao, mas falta ativo; B tem todos os quatro campos válidos e está inativo, porém um documento editorial ainda registra imagem sem origem; C está ativo, possui os quatro campos estruturais válidos e texto ainda sem revisão. Para cada registro, indique pendência estrutural e pendência de publicação.

Ver solução comentada

Solução: A exige decisão e preenchimento autorizado do booleano obrigatório antes de passar a validação. B é estruturalmente válido e permanece fora da listagem por estar inativo; o uso da imagem continua bloqueado no processo editorial por falta de origem/autorização. C pode passar a estrutura, porém aguarda revisão editorial. A rubrica exige separar essas dimensões, não adicionar imagem ao schema e preservar as pendências; preencher tudo como aprovado porque o JSON é legível não atende ao exercício.

Fontes relacionadas

Consulte os limites e as seções de apoio de cada referência.

S18 S03
Conseguiu explicar o que aprendeu?

Tente o exercício antes de consultar a solução. Marque a aula para organizar sua leitura.

A conclusão desta leitura não equivale a certificação ou aceite de um projeto real. Teste os exemplos no escopo indicado e registre as limitações.