Julgue o item que se segue, referente a clean code e à ferr...
Julgue o item que se segue, referente a clean code e à ferramenta SonarQube.
O SonarQube tem uma abordagem embasada no princípio de que o código da base em produção deve ser formatado e revisado para garantir que se usem as interfaces de programação e os recursos de linguagem apropriados.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Tema Central da Questão: A questão aborda o uso do SonarQube em relação ao conceito de código limpo ou clean code. É importante entender como o SonarQube funciona e qual é o seu objetivo principal na análise de código.
Resumo Teórico:
O SonarQube é uma ferramenta de análise estática de código que ajuda a identificar e corrigir problemas de qualidade no código, como bugs, vulnerabilidades e problemas de manutenção. Ele se concentra em assegurar que o código siga boas práticas de programação, mas não necessariamente na formatação ou no uso das interfaces de programação em si.
O conceito de clean code, por outro lado, refere-se a práticas que tornam o código mais legível, simples e de fácil manutenção. Isso inclui nomeação clara de variáveis, funções pequenas e coesas, e a ausência de código duplicado, entre outros aspectos.
Justificativa para a Alternativa Correta:
A alternativa correta é E - errado. O enunciado afirma que o SonarQube tem como princípio garantir que o código use as interfaces de programação e os recursos de linguagem apropriados. Entretanto, o foco do SonarQube não é garantir o uso das interfaces de programação apropriadas, mas sim monitorar a qualidade do código através da identificação de padrões que possam indicar problemas.
Análise da Alternativa Incorreta:
A afirmação "o SonarQube tem uma abordagem embasada no princípio de que o código da base em produção deve ser formatado e revisado para garantir que se usem as interfaces de programação e os recursos de linguagem apropriados" é equivocada. O SonarQube verifica a conformidade do código com padrões de qualidade e não necessariamente com a formatação ou escolha de interfaces de programação.
Para não cair em pegadinhas, é essencial entender que, enquanto o SonarQube foca na qualidade do código, ele não é responsável por ditar ou garantir o uso de métodos ou interfaces específicas. Ele ajuda a identificar problemas de qualidade, mas a decisão sobre a escolha de interfaces cabe aos desenvolvedores e à arquitetura do sistema.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Não entendi o erro da afirmativa.
O SonarQube tem como principais objetivos:
- Detecção de falhas e vulnerabilidades de segurança.
- Análise de "code smells" (problemas que podem tornar o código difícil de entender ou manter).
- Medição da cobertura de testes e a cobertura de código.
- Análise de duplicação de código.
- Acompanhamento da complexidade (complexidade ciclomática, por exemplo).
- Verificação da aderência a convenções de codificação.
Acredito que o "erro" venha da ideia de que "não se testa código em produção, ele já deve chegar lá testado/pronto/com qualidade"
but..
JUSTIFICATIVA CEBRASPE - Errado. O SonarQube tem uma abordagem baseada no princípio de que de que o novo código (código adicionado ou modificado recentemente pelo usuário) deve estar em conformidade com os padrões de qualidade do SonarQube (servidor, nuvem). A solução Sonar implementa o clean as you code, avisando sempre que problemas forem detectados no novo código
Errado.
Embora o SonarQube seja uma ferramenta poderosa de análise estática de código, seu foco não é garantir o uso de interfaces de programação (APIs) específicas ou recursos de linguagem “apropriados” no sentido de design ou arquitetura.
Qual o foco real do SonarQube?
Qualidade do código, via:
- Duplicação
- Complexidade ciclomática
- Cobertura de testes
- Padrões de codificação
- Bugs e vulnerabilidades
- “Code smells” (indícios de má prática)
Ou seja: ele monitora, analisa e reporta problemas que impactam a manutenibilidade, legibilidade, segurança e testabilidade do código, mas não impõe ou garante decisões de design como a escolha de determinadas interfaces de programação.
By Futuro DEV Estável.
Gabarito Errado
A afirmação descreve parcialmente os objetivos de clean code (código limpo) e as análises que o SonarQube pode realizar, mas a frase "o código da base em produção deve ser formatado e revisado" é um pouco enganosa em relação à abordagem principal do SonarQube.
O SonarQube atua principalmente como uma ferramenta de análise de qualidade de código contínua que deve ser integrada ao ciclo de desenvolvimento (CI/CD), muito antes do código chegar à produção. Seu objetivo é identificar problemas (como code smells, bugs, vulnerabilidades e problemas de formatação/estilo) durante o desenvolvimento e nos estágios iniciais de teste, para que eles possam ser corrigidos antes de o código ser implantado em produção.
Embora seja verdade que o SonarQube ajuda a garantir o uso de interfaces de programação e recursos de linguagem apropriados (contribuindo para a qualidade do código em produção), a sua abordagem principal é prevenir que código de baixa qualidade chegue à produção, e não apenas formatar e revisar um código já em produção. A ideia é "shift left", ou seja, trazer a detecção de problemas para as fases mais iniciais do desenvolvimento.
Retroceder Nunca Render-se Jamais !
Força e Fé !
Fortuna Audaces Sequitur !
Questão mal redigida da bexiga
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo