Quiz
Programação Defensiva
Erstelle ein kostenloses Konto, um dieses Quiz zu beenden
Speichere deinen Fortschritt und sieh dir dein Endergebnis an.
oder mit deiner E-Mail registrieren
Schon ein Konto? Anmelden
Fragen in diesem Quiz (10)
1Qual dos fatores externos esta ligado a Programação Defensiva?
- ACorretude
- BRobustez
- CVerificabilidade
- DSegurança (Integridade)
2Quais são os princípios de McConnel na Programação Defensiva?
- AO usuário deverá ser treinado para entrar com dados certos no sistema.
- BO programa devera tratar todos os dados de entradas, de forma que, caso algo esteja errado, ele possa através de probabilidades, descobrir o dado que o usuário estava querendo digitar.
- CEntra dados incorretos (lixo), nada sai. OU Nenhum lixo pode entrar.
3O que é tratamento de entradas inválidas na Programação Defensiva?
- ATratamento de entradas inválidas é criar uma barricada, ou seja, uma área segura do sistema com classes de validação, no qual será validada toda a informação, antes que a mesma entre para os módulos internos do sistema.
- BVerificar todo o tipo de entrada de fontes externas, seja de arquivo ou do próprio usuário e também do próprio sistema como parâmetros e chamadas de método. Caso detecte algum problema nos dados, fazer um tratamento adequado desses dados, de modo que o erro não interfira no funcionamento do sistema como um todo.
- CParar o sistema e levantar um erro (exceção) com informações da linha do código onde ocorreu o erro.
- DEnviar erro fatal e fechar o sistema sempre que um dado invalido entrar no sistema.
4Das alternativas abaixo, quais delas não é uma técnica de tratamento para entradas inválidas?
- ARetornar um valor neutro (padrão) que não cause erros.
- BSubstituir pelo próximo dado válido. (ex.: tocador de mp3 ou vídeo)
- CValor válido mais próximo. (ex.: Acertar entrada de hora do tipo: 22:80:05)
- DRetornar a mesma resposta anterior. (ex. Digitar canal inexistente, retornar ao canal estável.)
- EAvaliar expressão, caso seja falsa, emitir umas mensagem de erro inesperado no código.
5Marque a alternativa que exemplifique da melhor forma a Robustez x Corretude.
- ATodo programa deve ser robusto a qualquer custo. Ou seja, funcionar de qualquer maneira em condições anormais.
- BEm um programa do tipo de editor de texto, não se deve priorizar a robustez, uma vez que o programa não é tão crítico a falhas. Já em um sistema do tipo de controladores de voo a robustez deve ser importante.
- CDepende do programa, nem sempre a robustez será importante, e nesses casos a corretude deve ser priorizada, como nos sistemas de Raio X. Porem há casos que a robustez deve ser priorizada, como em sistemas de stream de vídeo ou áudio, como também em sistema do tipo editores de texto.
- DNenhuma das alternativas acima.
6Marque as respostas corretas em relação as barricadas.
- AÉ uma técnica de tratamento de entradas inválidas.
- BÉ uma área delimitada de segurança, no qual os dados são verificados e desinfectados ou bloqueados (quando não for possível a desinfecção), antes de entrar para as classes internas do sistema.
- CÉ uma técnica da programação defensiva que tem como estratégia o confinamento de dados.
- DAs rotinas fora das barricadas devem usar tratamento de erros.
- EAs classes de validação na barricada, levantam uma exceção quando um dado incorreta tentar passar.
- FNão se pode garantir a desinfecção total de dados em uma barricada.
7A forma geral do código de exceção é:
try
{
}catch(Exceção)
{
}finally
{
}- ARichtig
- BFalsch
8Marque as alternativas que mostra as recomendações de McConnell em relação aos tratamentos de exceções.
- AUse e abuse das exceções no seu projeto, além de torna o sistema mais robusto , ele facilita a compreensão do código.
- BEvite lançar exceções em construtores e destrutores.
- CCrie mensagens claras de exceção, que informa a causa do problema.
- DPadronize exceções com tipos, classes de controle e etc.
- EEvite exceções em casos excepcionais.
- FUse o nível correto de abstração. Evite passar exceções de baixo nível em classes de alto nível.
9O que este código faz?
static public double dividir(double y, double x)
{
if (x == 0)
throw new System.DivideByZeroException();
return(y/x);
}- AUm método que recebe duas variáveis double y e x, e retorna o resultado da divisão.
- BUm método que verifica se x é 0, se for positivo lança uma exceção de divisão por zero.
- CUm método que recebe duas variáveis double y e x, verifica se x é igual a zero, se for positivo lança uma exceção de divisão por zero, caso contrario, retorna a Divisão de y por x.
10Marque a alternativa correta sobre asserções.
- ATrata um erro de entrada, tentando corrigir esse erro na barricada, para então seguir para as classes internas do sistema.
- BPermite ao programa realizar uma avaliação booleana , caso essa avaliação dê falso, gera um erro espalhafatoso no sistema em modo debug, interrompe a execução do mesmo e exibe uma mensagem de erro para o programador. Em algumas linguagens essa mensagem podem ser personalizadas.
- CÉ usado para erros esperados no sistema.
- DMuito usados em programa de que pequeno porte, avisa aos programadores de erros que não deveriam acontecer no sistema.
- EPermite ao programa realizar uma avaliação booleana , caso essa avaliação dê verdadeiro, gera um erro espalhafatoso no sistema em modo release, interrompe a execução do mesmo e exibe uma mensagem de erro para o programador. Em algumas linguagens essa mensagem podem ser personalizadas.
Informationen
- Beschreibung
- Programação Modular Quiz am Programação Defensiva, erstellt von Lucas Correa am 10/03/2014.
- Autor
- Lucas Correa
- Sprache
- Português
- Aufrufe
- 215
- Schlagwörter
- Bewertung
- Noch keine Bewertungen Bewerte dieses Quiz