A descrição do que um programa deve fazer se os dados de entrada forem inválidos devem especificar o seguinte:
1. Validação de entrada: Defina claramente o que constitui entrada inválida. Isso deve ser preciso e abrangente, cobrindo todos os cenários possíveis. Exemplos incluem:
*
Tipo de dados: Tipo de dados errado (por exemplo, inserindo o texto quando um número é esperado).
*
intervalo: Valor fora de um intervalo aceitável (por exemplo, idade negativa, peso acima de um limite físico).
* formato
: Formato incorreto (por exemplo, data inválida, endereço de email formatado incorretamente).
*
Dados ausentes: Os campos necessários são deixados vazios.
*
Dados duplicados: Entrada contendo entradas duplicadas onde é necessária singularidade.
* Inconsistências lógicas: Valores de dados que se contradizem (por exemplo, a data do pedido é após a data de entrega).
*
Vulnerabilidades de segurança: Entrada que pode ser explorada para fins maliciosos (por exemplo, injeção de SQL, script de sites cruzados).
2. Manuseio de erros: Descreva como o programa lidará com a entrada inválida. As abordagens comuns incluem:
*
Rejeitando a entrada: O programa recusa a entrada inválida e exibe uma mensagem de erro apropriada para o usuário, levando-os a reentrar os dados corretamente. Esta é geralmente a abordagem mais simples e segura.
*
Definindo um valor: O programa usa um valor padrão predefinido se a entrada for inválida. Isso deve ser claramente documentado e usado apenas quando apropriado, e o padrão não compromete a funcionalidade do programa.
*
Usando um mecanismo de retorno: O programa tenta se recuperar do erro usando métodos alternativos ou fontes de dados. Por exemplo, ele pode tentar buscar os dados ausentes de um local diferente. Isso é mais complexo e deve ser usado com cuidado.
*
registrando o erro: O programa registra a entrada inválida e os detalhes do erro em um arquivo de log para depuração e análise. Isso é crucial para manter o sistema e identificar tendências em dados inválidos.
*
Degradação graciosa: O programa continua a funcionar, mas com recursos reduzidos. Por exemplo, um recurso pode ser desativado, mas o restante do aplicativo permanece operacional.
3. Relatório de erro: Especifique como o programa comunicará o erro ao usuário. Isso deve ser:
*
claro e conciso: O usuário deve entender o que deu errado e como corrigi -lo.
*
amigável: Evite o jargão técnico sempre que possível.
*
útil: Forneça informações específicas, como o ponto de dados inválido e o que é esperado.
*
consistente: Use os mesmos mecanismos de manuseio e relatório de erros ao longo do programa.
4. Manipulação de exceções (para programadores): Se estiver usando uma linguagem de programação que suporta o manuseio de exceções, descreva como as exceções serão capturadas e manuseadas para impedir que o programa trave.
Exemplo: "Se o usuário inserir um número negativo para a idade, o programa exibirá uma mensagem de erro:'A idade deve ser um número não negativo.' O campo de entrada permanecerá destacado, levando ao usuário a reentrar uma idade válida.
Ao especificar claramente esses aspectos, você garante a robustez e a confiabilidade do seu programa diante da entrada inválida. O nível de detalhe necessário dependerá da complexidade e criticidade do programa.