Essas estruturas não devem ser intrinsecamente culpadas. Os responsáveis são as pessoas que escrevem o código (sim, é você). É o programador que tem o poder de introduzir uma complexidade incrível ou de reduzir um problema terrível a uma solução simples e elegante.
Com que frequência, as pessoas escrevem um código horrível e complexo?
Você pode achar que seus colegas de trabalho estão planejando introduzir mais estresse em sua vida com seus códigos do mal. Porém a complexidade geralmente é acidental; raramente será algo introduzido de propósito.
Geralmente, ela é o produto da história, os programadores adicionam mais funcionalidade ou complexidade ao sistema, sem ter tempo de refatorá-lo.
Ou “protótipo” se transforma em um sistema de produção. Quando esse código estiver sendo usado, não haverá mais chances de fazer do jeito certo. O código será usado e reutilizado, e a complexidade se tornará um problema.
A complexidade do software é o resultado de pessoas trabalhando em situações do mundo real.
A única maneira de reduzir a complexidade é nos responsabilizarmos por ela e tentar evitar que as pressões no trabalho forcem nosso código a ter estruturas com as quais seja impossível trabalhar.