Com relação ao desenvolvimento Java EE, a padrões e antipad...
O antipadrão de programação denominado âncora de barco decorre da situação em que os programadores deixam um trecho do código na base de código, com a intenção de utilizá-lo posteriormente, caso precisem.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Vamos entender o contexto da questão e por que a alternativa correta é C.
O enunciado da questão aborda um conceito específico de antipadrão de programação conhecido como âncora de barco. Em termos gerais, um antipadrão é uma solução recorrente que, em vez de resolver problemas, cria mais complicações. No caso do antipadrão "âncora de barco", a situação ocorre quando programadores deixam trechos de código na base de código com a intenção de utilizá-los futuramente.
Esse código, que inicialmente pode parecer útil, muitas vezes acaba sendo obsoleto, desnecessário ou até prejudicial, tornando-se um "peso morto" na base de código. Ele pode levar a confusão, dificultar a manutenção e evolução do sistema e, em alguns casos, introduzir vulnerabilidades de segurança.
Justificativa da alternativa correta:
A alternativa C está correta porque descreve com precisão o antipadrão de programação "âncora de barco". A definição apresentada na questão corresponde exatamente a esse antipadrão, onde os programadores deixam um trecho do código na base com a intenção de usá-lo depois, mas que acaba causando mais problemas do que resolvendo.
Justificativa das alternativas incorretas:
Neste caso, a única alternativa apresentada é a correta, portanto, não há alternativas incorretas para discutir. Porém, é importante entender por que esse tipo de prática é considerado um antipadrão.
Importância do conhecimento sobre antipadrões:
Conhecer antipadrões como a "âncora de barco" é crucial para quem desenvolve em Java EE ou qualquer outra plataforma, pois evita práticas que podem comprometer a qualidade do código e a eficiência do desenvolvimento. Bons desenvolvedores precisam estar atentos não apenas aos padrões recomendados, mas também aos antipadrões que devem ser evitados.
Espero que essa explicação tenha sido clara e útil. Compreender os conceitos de padrões e antipadrões é fundamental para construir sistemas robustos e de fácil manutenção.
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
Boat anchor (“âncora do barco”): Mantém parte de um sistema que não tem mais utilidade. (Capítulo 14.5 antipadrões)
Fonte: Engenharia de software. Uma abordagem profissional. 9a Edição. Roger S. Pressman, Bruce R. Maxim.
Certo.
O "antipadrão" de programação denominado "âncora de barco" ocorre quando os programadores deixam um trecho de código na base de código com a intenção de utilizá-lo posteriormente, caso precisem. Esse código desnecessário pode acabar poluindo a base de código e tornando-a mais difícil de entender e manter. Portanto, é considerado uma má prática de programação.
Cuidado para não confundir com o anti-padrão "lava flow".
No "âncora de barco", os programadores deixam uma parte do código com a intenção de usá-lo posteriormente, ou simplesmente pelos recursos que já foram gastos no desenvolvimento desse código (custo afundado).
No "lava flow", também é mantido um código antigo no sistema. Mas aqui o problema é ninguém saber ao certo o que ele faz e terem medo de alterá-lo ou removê-lo.
Alguns anti padrões de programação para conhecimento, além do âncora de barco:
Complexidade acidental (Accidental complexity)
Fé cega (Blind faith)
Âncora do barco (Boat anchor)
Falha cacheada (Caching failure)
Programação por exceção (Coding by exception)
Culto de programação (Cargo cult programming)
Número Mágico (Magic number)
String Mágica (Magic string)
Código espaguete (Spaghetti code)
Código lasanha (Lasagna code)
Fonte: https://wagnerfusca.medium.com/usando-palavras-certas-para-um-code-review-mais-efetivo-antipattern-8fa8b1ff4897
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo