Ferramentas de Análise Estática
Gabarito: letra E. Ferramentas de análise estática permitem que o programador desative regras que não se aplicam ao código, evitando que o tempo seja gasto com problemas já conhecidos ou irrelevantes. Isso é uma funcionalidade básica dessas ferramentas, aumentando a produtividade e focando em defeitos reais.
A questão testa o conhecimento sobre o funcionamento prático de ferramentas de análise estática de código. O principal ponto é que elas são configuráveis: você pode habilitar ou desabilitar regras conforme a necessidade do projeto. Todas as outras alternativas contêm afirmações incorretas sobre essas ferramentas.
Alternativa A — ❌ Incorreta
Afirma que a análise estática detecta apenas 1% dos defeitos e não contribui para redução de custos. Na realidade, essas ferramentas podem detectar uma parcela significativa de defeitos (como violações de padrões, potenciais bugs, etc.) e sim contribuem para a redução de custos ao identificar problemas cedo.
Alternativa B — ❌ Incorreta
Diz que o ideal é selecionar todas as regras de uma só vez. Isso geraria um grande número de falsos positivos, sobrecarregando o desenvolvedor. A prática recomendada é selecionar um conjunto relevante de regras e, progressivamente, ajustá-las.
Alternativa C — ❌ Incorreta
Alega que a ferramenta nunca retorna falso positivo. Isso é falso: toda ferramenta de análise estática pode produzir falsos positivos (alertar sobre algo que não é um problema real). Cabe ao desenvolvedor revisar e decidir.
Alternativa D — ❌ Incorreta
Sugere que a ferramenta deve ser usada com o código original antes de qualquer análise humana e que quanto mais completo o código, menores os resultados iniciais. Na verdade, a análise estática é mais eficaz quando aplicada continuamente; e um código mais completo pode gerar mais alertas, não menos. Além disso, não é obrigatório usar antes da análise humana.
Alternativa E — ✅ Correta ⟵ GABARITO
Descreve corretamente uma vantagem: ao desativar regras que não se aplicam ao código, a ferramenta não perde tempo destacando problemas que o programador já conhece ou que são irrelevantes, concentrando-se nos alertas realmente úteis.
Gabarito: letra E.