Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2019
Programação›Linguagens de programação
Código
ce107070
Banca
CESPE / CEBRASPE
Órgão
CGE - CE
Ano
2019
Nível
Superior
Cargo
CESPE - - Auditor de Controle Interno - Tecnologia da Informação
Considerando que a ferramenta SonarQube permite analisar código gerado na linguagem Java e em outras linguagens, assinale a opção que indica erro que, na análise do código de um sistema de recursos humanos, pode ser identificado como configuração default dessa ferramenta.
Amétodo de conexão do banco de dados com tratamento de erro/exceção ou falha da conexão
Bmétodo de retorno de inteiro com tratamento de retorno de nulo
Cmétodo de retorno de nome da base de dados com tratamento de exceção caso não se estabeleça a conexão ou não se encontrem dados
Dmétodo projetado para verificar uma conexão de banco de dados e tratar exceção, caso ocorra
Emétodo projetado para verificar a igualdade e que sempre retorna falso
Revelar gabarito e comentário▾
GabaritoE — método projetado para verificar a igualdade e que sempre retorna falso
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SonarQube – Regras padrão de análise estática
Gabarito: letra E. O SonarQube, em sua configuração default, inclui um conjunto de regras que detectam bugs comuns e más práticas. Entre essas regras, está a identificação de métodos desenvolvidos para verificar igualdade (como equals()) que sempre retornam falso, o que configura um erro lógico evidente. Nenhuma das outras alternativas representa um erro tão específico e garantido pela configuração padrão.
Alternativa A — ❌ Incorreta
Um método de conexão com banco que trata exceção ou falha é uma prática recomendada, não um erro identificado automaticamente como default. O SonarQube pode sugerir melhorias, mas não é um erro categórico.
Alternativa B — ❌ Incorreta
Método que retorna inteiro e trata retorno nulo (provavelmente retornando null quando deveria ser int) pode ser um code smell, mas não é uma regra padrão universal; depende da configuração.
Alternativa C — ❌ Incorreta
Método que retorna nome da base de dados e trata exceções de conexão ou dados ausentes é uma boa prática, não um erro padrão.
Alternativa D — ❌ Incorreta
Método que verifica conexão e trata exceção é esperado em código robusto; não é um erro detectado como regra default.
Alternativa E — ✅ Correta ⟵ GABARITO
Um método que deveria verificar igualdade (como public boolean equals(Object obj)) e sempre retorna falso é um bug clássico: a ferramenta identifica que o comportamento não faz sentido, pois viola o contrato de equals. Essa regra está presente no perfil padrão do SonarQube (regra squid:S1201 ou similar).
NÃO CAIA NESSA!
Ao estudar SonarQube, lembre-se de que as regras padrão focam em bugs óbvios (como equals sempre falso, dividir por zero, etc.). Não confunda com boas práticas de tratamento de exceções — estas são recomendadas, mas nem sempre geram alertas na configuração inicial.