Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — FGV 2024

Engenharia de SoftwareDesenvolvimento de Software
Código
fg098572
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Web Designer
Os analistas do TJMS possuem convenções de código-fonte bem definidas, que orientam o bom desenvolvimento de novos sistemas. As convenções de código-fonte do TJMS ajudam a manter os códigos bem estruturados e fáceis de manutenir.Ao reforçar a boa estruturação e a clareza do código-fonte, as convenções do TJMS mitigam diretamente o antipadrão de software conhecido como:
  1. Afim da linha;
  2. Bespera ativa;
  3. Cfluxo de lava;
  4. Dâncora de barco;
  5. Ecódigo espaguete.
Revelar gabarito e comentário

GabaritoE — código espaguete.

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”.

Anti-padrões de software

Gabarito: letra E. As convenções de código-fonte bem estruturadas e claras combatem diretamente o anti-padrão conhecido como código espaguete (spaghetti code), caracterizado por código emaranhado, com lógica confusa e difícil manutenção.

Os anti-padrões são soluções recorrentes que geram problemas. Vamos analisar cada alternativa:

Anti-padrões de software
  • 1Estruturação e clareza
    • Código espaguete (spaghetti code)
      • Lógica emaranhada
      • Baixa coesão
      • Alto acoplamento
      • Mitigado por convenções de código
  • 2Concorrência
    • Espera ativa (busy waiting)
      • Loop consumindo CPU
  • 3Evolução caótica
    • Fluxo de lava (lava flow)
      • Código sem documentação
      • Mitigado por refatoração
  • 4Código morto
    • Âncora de barco (boat anchor)
      • Parte não usada, mas não removível
  • 5Não reconhecido
    • Fim da linha (dead end)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

"Fim da linha" (dead end) não é um antipadrão de software reconhecido na literatura; não se refere a problemas de estruturação de código.

Alternativa B — ❌ Incorreta

"Espera ativa" (busy waiting) é um anti-padrão de programação concorrente, onde um processo fica em loop verificando uma condição, consumindo CPU desnecessariamente. Não está relacionado com estruturação e clareza do código.

Alternativa C — ❌ Incorreta

"Fluxo de lava" (lava flow) refere-se a código com histórico de manutenção caótica, onde partes são adicionadas sem documentação ou reestruturação. Embora seja um anti-padrão, ele é mitigado por práticas de refatoração e documentação, não diretamente por convenções de estruturação e clareza.

Alternativa D — ❌ Incorreta

"Âncora de barco" (boat anchor) é um anti-padrão que descreve uma parte do sistema que permanece sem ser usada, mas que não pode ser removida por medo de quebrar algo. Novamente, não se relaciona diretamente com a estruturação do código.

Alternativa E — ✅ Correta ⟵ GABARITO

Código espaguete é o anti-padrão clássico de código mal estruturado, com lógica entrelaçada, baixa coesão e alto acoplamento. Boas convenções de código (nomes significativos, padrões de formatação, modularização) são a principal defesa contra esse problema. Ao enfatizar estruturação e clareza, as convenções do TJMS atacam diretamente a causa do código espaguete.

NÃO CAIA NESSA!

A banca pode confundir "código espaguete" com outros anti-padrões. Lembre-se que o foco está na estruturação e clareza do código fonte. "Fluxo de lava" e "âncora de barco" também são anti-padrões, mas relacionados a evolução e manutenção, não diretamente à estruturação inicial. "Espera ativa" é de concorrência. "Fim da linha" não é um termo consagrado.

Gabarito: letra E (Código espaguete).

Link permanente: /questoes/fg098572