Programação  
 
Rede de conhecimento computador >> Programação >> Programação De Computador Idiomas >> Content
O que são técnicas de programação defensiva?
A programação defensiva é uma abordagem de desenvolvimento de software que visa criar programas robustos e confiáveis ​​que podem lidar com insumos, erros e situações excepcionais inesperadas, sem travar ou produzir resultados incorretos. Trata -se de antecipar problemas e construir salvaguardas para impedir que eles causem grandes problemas. As principais técnicas incluem:

1. Validação de entrada:

* Verificação do tipo de dados: Verifique se as entradas são do tipo de dados esperado (número inteiro, string, float etc.). Não confie em entrada do usuário ou dados de fontes externas implicitamente.
* Verificação da faixa: Verifique se as entradas numéricas se enquadram em faixas aceitáveis. Por exemplo, uma quantidade não pode ser negativa.
* Verificação de comprimento: Limite o comprimento das cordas para evitar transbordamentos de buffer ou outros problemas.
* Verificação de formato: Confirme que as entradas estão em conformidade com um formato específico (por exemplo, endereço de email, data).
* Sinitização : Remova ou escape de caracteres potencialmente prejudiciais (por exemplo, tags HTML, caracteres de injeção SQL) das entradas do usuário antes de processá -las.

2. Manuseio de erros:

* Manuseio de exceção (Blocos Try-Except): Use o manuseio de exceção estruturada para capturar e lidar graciosamente erros previstos (como o arquivo não encontrado, problemas de conexão de rede, entrada inválida) impedindo falhas do programa.
* Afirações : Use as instruções `assert` para verificar se as condições * devem * sempre ser verdadeiras. Se uma afirmação falhar, indica um erro de programação. As afirmações são principalmente para depuração.
* Códigos de retorno/sinalizadores de erro: As funções podem retornar códigos ou sinalizadores específicos para indicar sucesso ou diferentes tipos de falha.
* log: Registre eventos, incluindo erros e avisos, para um arquivo de log para análise e depuração posteriores. Isso é crucial para identificar problemas em ambientes de produção.

3. Padrões à prova de falhas:

* Valores padrão: Forneça valores padrão sensatos para variáveis ​​ou parâmetros quando as entradas estão ausentes ou inválidas.
* mecanismos de fallback: Implemente estratégias alternativas ou mecanismos de fallback quando as operações primárias falharem (por exemplo, usando um valor em cache se uma consulta de banco de dados falhar).

4. Gerenciamento de recursos:

* Fechamento adequado de recursos: Certifique -se de que recursos como arquivos, conexões de rede e conexões de banco de dados estejam adequadamente fechados, mesmo que ocorram erros (usando `finalmente` blocos ou construções similares). Isso evita vazamentos de recursos.
* Gerenciamento de memória: Preste atenção à alocação de memória e desalocação para evitar vazamentos de memória e ponteiros pendurados.

5. Simplicidade e legibilidade de código:

* Design modular: Divida as tarefas complexas em módulos menores e bem definidos para facilitar o entendimento, teste e manutenção.
* nomes significativos: Use nomes descritivos de variável e funções para melhorar a legibilidade do código e facilitar a compreensão da lógica.
* Comentários e documentação: Adicione comentários claros e concisos para explicar partes complexas do código e seu objetivo.

6. Teste:

* Teste de unidade: Teste componentes ou funções individuais do programa isoladamente.
* Teste de integração: Teste como diferentes componentes funcionam juntos.
* Teste de regressão: Reteste o programa depois de fazer alterações para garantir que a funcionalidade existente não tenha sido quebrada.
* Análise de valor de limite: Teste o programa com entradas nas bordas dos intervalos válidos.
* Teste de estresse: Teste o programa com altos volumes de dados ou condições incomuns.

Técnicas de programação defensiva adicionam sobrecarga em termos de tempo de desenvolvimento e complexidade do código. No entanto, a melhor robustez e confiabilidade do software resultante geralmente supera em muito esse custo, particularmente em aplicações críticas em que as falhas podem ter sérias conseqüências.

Anterior :

Próximo :
  Os artigos relacionados
·Scrum FAQ 
·Quais são CSS Templates 
·Como você escreve hebraico com vogais em um computador…
·Como editar Sites HTML 
·Como lidar com textos no CSH 
·Como converter de ColdFusion para PHP 
·Fatores que determinam a escolha da linguagem de progra…
·Business Objects Componentes 
·O que são máquinas CNC 
·As vantagens de usar Pseudocódigo 
  Artigos em destaque
·Como hifenização automática de um documento usando o…
·Quantos tipos de código ASCII explicam? 
·Como Abortar VB.NET 
·Como fazer URLs Vá em um navegador em Visual Basic 
·Como alterar o formato da data em PHP 
·O que é o VB.NET 2005 
·Tipos de Desenho Linha em Visual Basic 
·Programas Visual Basic 
·O que é a execução intercalada do programa? 
·Como fazer um baralho de cartas no NetBeans Usando Arra…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados