Código Baklava

O código Baklava é uma programação desnecessariamente complicada pela inclusão de demasiadas abstracções layers.

O termo é uma referência à pastelaria do Médio-Oriente com camadas extravagantes e uma variação de outras gírias de programação incluídas na Teoria da Programação de Massas, que gosta programação modelos para as estruturas dos pratos de massa. O código Spaghetti, por exemplo, refere-se à programação de procedimentos, cuja falta de estrutura pode dificultar o seu seguimento ou actualização. O código da lasanha, por outro lado, é como a programação estruturada, que é mais fácil de seguir, mas cuja estrutura monolítica pode dificultar a sua modificação. Segundo Raymond Tubey, que formulou a Teoria Pasta, a programação orientada a objetos (OOP), comparada ao ravioli, é o modelo a seguir porque é composta de objetos pequenos, separados e frouxamente acoplados que podem ser modificados individualmente sem afetar os outros componentes ou a estrutura como um todo.

John D. Cook afirma ter cunhado o termo código baklava. Aqui está como ele explica a analogia:

Baklava é uma deliciosa pastelaria com muitas camadas finas de massa de filo. Enquanto camadas finas são boas para uma massa, camadas finas de software não acrescentam muito valor, especialmente quando se tem muitas dessas camadas empilhadas umas sobre as outras. Cada camada tem de ser empurrada para a sua pilha mental enquanto mergulha no código. Além disso, as camadas de massa de filo são permeáveis, permitindo que o mel mergulhe. Mas as abstracções por software são melhores quando não vazam. Quando você empilha camadas em cima de camadas no software, as camadas estão fadadas a vazar.