Código Baklava

El código Baklava es una programación innecesariamente complicada por la inclusión de demasiadas capas de abstracción.

El término es una referencia a la pastelería de Oriente Medio escamosa y con capas extravagantes y una variación de otra jerga de programación incluida en la Teoría de la programación de la pasta, que compara los modelos de programación con las estructuras de los platos de pasta. El código espagueti, por ejemplo, se refiere a la programación procedimental, cuya falta de estructura puede dificultar su seguimiento o actualización. El código de lasaña, en cambio, es como una programación estructurada, que es más fácil de seguir pero cuya estructura monolítica puede dificultar su modificación. Según Raymond Tubey, quien formuló la teoría de la pasta, la programación orientada a objetos (OOP), comparada con los ravioles, es el modelo a seguir porque está formado por objetos pequeños, separados y débilmente acoplados que pueden modificarse individualmente sin afectar el otros componentes o la estructura en su conjunto.

John D. Cook afirma haber acuñado el término código baklava. Así es como explica la analogía:

Baklava es una deliciosa pastelería con muchas capas finas como el papel de masa filo. Si bien las capas delgadas están bien para un pastel, las capas delgadas de software no agregan mucho valor, especialmente cuando tiene muchas de esas capas apiladas entre sí. Cada capa debe insertarse en su pila mental a medida que se sumerge en el código. Además, las capas de masa filo son permeables, lo que permite que la miel se empape. Pero las abstracciones de software son mejores cuando no se filtran. Cuando apila una capa sobre otra en el software, es probable que las capas tengan fugas.