Executando verificação de segurança...
1

Eu adicionaria mais dois aspectos para o código "complexo" (se bem que eu concordo com o que o Mestre maniero comentou sobre código complexo e complicado): falta de tempo e arquitetura.

Falta de tempo - É comum muitas empresas quererem que o sistema seja entregue o mais rápido possível, apenas que esteja funcionando, sem planejar o código e entender bem as regras de negócio e isso gera muita "complexidade" (ou "complicabilidade") ao código. Há situações que é um Xtreme GoHorse disfarçado. Infelizmente é comum eu ter que lidar com código meu que esteja muito complicado simplesmente porque no passado não foi me dado tempo para pensar bem a estruturação do código e só foi virando uma bola de neve.

Arquitetura - Aqui é algo mais específico, mas como muitos sistemas utilizam microsserviços, então eu acho que é válido. Normalmente quando colocamos microsserviços na jogada as coisas tendem a ficar mais "complexas" naturalmente, e nem seria por falta de código simples, mas porque começamos a orientar a comunicação dos microsserviços por evento/mensagem, o que pode gerar muita confusão ou a famosa "Microservice Death Star" (que também pode ser bem feita, mas é mais suscetível à complexidade/complicabilidade)

Carregando publicação patrocinada...