Browse Definitions :
Definition

baklava code

Contributor(s): Ivy Wigmore

Baklava code is programming that is unnecessarily complicated by the inclusion of too many abstraction layers.

The term is a reference to the flaky and extravagantly layered Middle-Eastern pastry and a variation on other programming slang included in the Pasta Theory of Programming, which likens programming models to the structures of pasta dishes. Spaghetti code, for example, refers to procedural programming, whose lack of structure can make it hard to follow or update. Lasagna code, on the other hand, is like structured programming, which is easier to follow but whose monolithic structure can make it difficult to modify. According to Raymond Tubey, who formulated the Pasta Theory, object-oriented programming (OOP), likened to ravioli, is the model to follow because it is made up of small, separate, and loosely coupled objects that can be individually modified without affecting the other components or the structure as a whole.

John D. Cook claims to have coined the term baklava code. Here's how he explains the analogy:

Baklava is a delicious pastry make with many paper-thin layers of phyllo dough. While thin layers are fine for a pastry, thin software layers don’t add much value, especially when you have many such layers piled on each other. Each layer has to be pushed onto your mental stack as you dive into the code. Furthermore, the layers of phyllo dough are permeable, allowing the honey to soak through. But software abstractions are best when they don’t leak. When you pile layer on top of layer in software, the layers are bound to leak.

This was last updated in April 2016

Continue Reading About baklava code

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

For some that could mean job security. IF you write code so complicated that nobody else can figure out what is going on you may get to keep your job. As a side note, many years ago, the days of punched cards, I had a boss who wrote code simple, and I mean simple. It had the same confusing effect on the programmers. How?? His program fields, variables and such were 1 or 2 chars.. For the payroll program you might  see code like (a-c-f)*(b1+b2)=n... Damned if I new what he was doing.
Cancel

-ADS BY GOOGLE

Extensiones de Documento y Formatos de Documento

Accionado por:

SearchCompliance

  • risk management

    Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.

  • compliance as a service (CaaS)

    Compliance as a Service (CaaS) is a cloud service service level agreement (SLA) that specified how a managed service provider (...

  • data protection impact assessment (DPIA)

    A data protection impact assessment (DPIA) is a process designed to help organizations determine how data processing systems, ...

SearchSecurity

  • spyware

    Spyware is a type of malicious software -- or malware -- that is installed on a computing device without the end user's knowledge.

  • application whitelisting

    Application whitelisting is the practice of specifying an index of approved software applications or executable files that are ...

  • botnet

    A botnet is a collection of internet-connected devices, which may include PCs, servers, mobile devices and internet of things ...

SearchHealthIT

SearchDisasterRecovery

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • disaster recovery team

    A disaster recovery team is a group of individuals focused on planning, implementing, maintaining, auditing and testing an ...

  • cloud insurance

    Cloud insurance is any type of financial or data protection obtained by a cloud service provider. 

SearchStorage

  • DRAM (dynamic random access memory)

    Dynamic random access memory (DRAM) is a type of semiconductor memory that is typically used for the data or program code needed ...

  • RAID 10 (RAID 1+0)

    RAID 10, also known as RAID 1+0, is a RAID configuration that combines disk mirroring and disk striping to protect data.

  • PCIe SSD (PCIe solid-state drive)

    A PCIe SSD (PCIe solid-state drive) is a high-speed expansion card that attaches a computer to its peripherals.

Close