BT

Big Ball of Mud, ainda é o projeto de software dos mais populares

por Vikas Hazrati , traduzido por Lucas Souza em 17 Set 2010 |

Big Ball of Mud, é um código bagunçado que é mal estruturado, desleixado e muitas vezes amarrado com fita adesiva. Com o passar dos anos tentamos introduzir vários guidelines tais como SOLID, GRASP e KISS, alta coesão e baixo acoplamento para lidar com a lama. Entretanto, a situação parece continuar e ainda vemos que a "Grande Bola de Lama" parece ser o jeito mais popular de fazer o design de um software.

Dave Nicolette, mencionou que ele recentemente se deparou com um pedaço de código feito escrito em Java parecido com o código abaixo

public Thing getThing(Integer id) {
    return new Beta().getGamma().getDelta().getEpsilon().getOmega().getThing(id);
}

O código tem muitos code smells como:

  • Mensagens encadeadas – a chamada para pegar a "coisa" possuí seis níveis de chamadas
  • Intimidade inapropriada – o cliente deve conhecer os detalhes internos e a estrutura de outras classes
  • Exposição indecente – beta, gamma, delta, etc permitem a exposição indecente para chegar a um terceiro objeto

De acordo com Dave, parecia que

Apesar da quantidade e riqueza de informações disponíveis sobre o assunto, parece que a grande maioria das pessoas que escrevem software são
(a) completamente inconsciente de quaisquer boas práticas para fazer o design de um software, OU
(b) compreendem mal os guidelines.

Do mesmo modo, FJ recordou a experiência do Agile 2009 relacionado a uma sessão de Brian Foote e Joseph Yoder.

As razões para acontecerem estes problemas no código são

Curiosamente, que assim como FJ, Yoder senti que muitos aspectos do Agile nos leva diretamente à lama. Estes incluem,

  • Falta de um design claro
  • Alterações tardias aos requisitos
  • Alterações tardias da arquitetura
  • Crescimento fragmentado

De acordo com Yoder, o Agile pode nos ajuda não como um processo mas por causa de suas práticas como atenção contínua para excelência técnica, retrospectivas, conversas cara a cara e indivíduos motivados. Uma das

ferramentas sugeridas por Yoder

são refatorações simples e testar sempre que o software estiver se degradando.

Como Dave disse,

Apesar do surgimento de métodos de desenvolvimento que incentivem e facilitem código bem feito, e o crescimento do movimento Software Perfeito, a grande bola de lama continua a ser o modelo mais popular para software.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.