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

File Extensions and File Formats

SearchCompliance

  • risk management

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

  • compliance framework

    A compliance framework is a structured set of guidelines that details an organization's processes for maintaining accordance with...

  • regulatory compliance

    Regulatory compliance is an organization's adherence to laws, regulations, guidelines and specifications relevant to its business...

SearchSecurity

  • DNS over HTTPS (DoH)

    DNS over HTTPS (DoH) is a relatively new protocol that encrypts domain name system traffic by passing DNS queries through a ...

  • integrated risk management (IRM)

    Integrated risk management (IRM) is an approach to risk management that uses a set of practices and processes to improve an ...

  • MITRE ATT&CK framework

    The MITRE ATT&CK (pronounced 'miter attack') framework is a free, globally accessible service that provides comprehensive and ...

SearchHealthIT

  • telemedicine (telehealth)

    Telemedicine is the remote delivery of healthcare services, such as health assessments or consultations, over the ...

  • Project Nightingale

    Project Nightingale is a controversial partnership between Google and Ascension, the second largest health system in the United ...

  • medical practice management (MPM) software

    Medical practice management (MPM) software is a collection of computerized services used by healthcare professionals and ...

SearchDisasterRecovery

SearchStorage

  • M.2 SSD

    An M.2 SSD is a solid-state drive (SSD) that conforms to a computer industry specification and is used in internally mounted ...

  • kilobyte (KB or Kbyte)

    A kilobyte (KB or Kbyte) is a unit of measurement for computer memory or data storage used by mathematics and computer science ...

  • virtual memory

    Virtual memory is a memory management capability of an operating system (OS) that uses hardware and software to allow a computer ...

Close