Há um ou dois anos, vi um excelente artigo sobre OOP (Java), que mostrava a progressão de um simples logger concreto de duas ou três linhas de código, e um excesso de processos teóricos por parte do desenvolvedor inexperiente que basicamente dizia oh, eu deveria adicione isso caso desejemos isso! No final do artigo, esse simples logger era uma enorme bagunça que o desenvolvedor original mal conseguia entender.
Existe um termo comum para esse tipo de complicação excessiva? Esse artigo (que eu gostaria muito de encontrar novamente) mostra o conceito maravilhosamente para um caso isolado, mas me deparei com projetos inteiros nos quais os desenvolvedores essencialmente se programavam em um nó pelo uso excessivo de padrões, estruturas, bibliotecas e outros problemas. A seu modo, isso é tão ruim (ou até pior) que os aplicativos espaguetes VB6 herdados que herdamos para substituição.
O que realmente estou procurando é trazer isso à tona durante as entrevistas. Quero saber se alguém está ciente e consciente de como é fácil cair nessa com falta de arquitetura / pré-planejamento (e se desentender se parece que eles têm o equilíbrio correto no lugar), mas não é realmente algo Eu posso encontrar muitas informações sobre.