Go up!

Compilation of curious and funny terms from the programming world

Explore the fun slang and anecdotes that make programming more than just lines of code

B
Banana-in-box Angular terminology which refers to "two-ways bidding", a mechanism for updating the view and the model at the same time.
Bang Bang Operator/ Double Bang Operator In some languages, like JavaScript, !! is used to convert any value to its boolean equivalent (true or false). The first ! negates the value, and the second negates it again, leaving only the boolean value.
Boat Anchor A piece of code or a feature that is no longer used but is still present in the system.
Boomerang Code Code that comes back to haunt whoever wrote it due to its complexity or lack of documentation.
Boy Scout Rule Always leave the code you are working on better than it was.
Bug An error in the software. Coined by Grace Hopper in 1947, it came when a moth became trapped in a computer, causing it to malfunction.
C
Camel Case A type of word formatting where words have no spaces between them, and every new word starts with a capital letter.
Captcha Acronym for "Completely Automated Public Turing test to tell Computers and Humans Apart", it is a type of test used on websites to distinguish between human users and robots.
Cargo Cult Programming Imitate code without fully understanding its logic in the hope of obtaining similar results.
Cherry Picking Practice of selecting only the changes or features that are beneficial from a larger set, often ignoring other parts that could be equally important or necessary.
Code Bloat Excess of unnecessary code that slows down the program performance.
Code Monkey Programmer who performs repetitive and routine tasks without much creativity.
Code Smell Insights in the code that suggest the presence of problems or areas that might need improvement.
Copy-Paste Programming Reuse code by copying and pasting it instead of writing a more general solution.
D
Div Soup/Divitis Excessively nested and messy HTML code, full of div tags without a clear structure or semantics.
Dogfooding (Eating your own dog food) Software companies' practice of testing their own products internally before releasing them to the public, ensuring they work correctly and improving the quality of the final product.
Dry principle Acronym for "Don't Repeat Yourself", it is a software development principle that promotes reducing duplicate code, thus facilitating maintenance and improving code clarity.
E
Elvis Operator Short ternary operator used to simplify assigning default values to a variable in case the conditional expression is null.
Error 418 - I'm a teapot An HTTP error status code indicating that the server is refusing to make coffee because it is a teapot.
Error ID10T Error that occurs when the user does not understand or follow instructions, often used humorously to refer to errors caused by ignorance or lack of knowledge.
F
Feature Creep Tendency to add additional features to a project, often beyond what was initially necessary, complicating development and maintenance.
Fire and Forget Submit a request or task without waiting for a response or handling possible errors.
H
Heisenbug A software bug that disappears or changes its behavior when you try to debug it.
Hello World Syndrome Tendency to write only examples of "Hello World" without getting into more complex problems.
J
Jenga Code Code that is so unstable that modifying one part could cause the entire system to collapse, similar to removing a block from a Jenga tower.
K
Kebab Case A type of word format where words are lowercase and separated by a dash. This is often used in URLs.
Kiss principle Acronym for "Keep It Simple, Stupid!", it is a design principle that advocates simplicity, suggesting that systems and code should be as simple as possible to avoid unnecessary complexity and to make it easier to maintain and understand.
M
Magic Numbers Numbers that appear directly in the code without a clear explanation, often considered bad due to lack of readability.
Man in the Middle (MITM) Attack where a malicious actor intercepts and possibly alters the communication between two parties who believe they are communicating directly with each other.
N
Ninja Coding Write code quickly and efficiently, usually with advanced skills.
O
Octopus Merge Merging multiple branches into a single commit, often used in version control systems like Git to integrate several changes simultaneously.
P
Pebkac Acronym for "Problem Exists Between Keyboard And Chair", used in a humorous way to indicate that the error is due to the person using the computer, not the software.
Promise Hell Situation in asynchronous programming where multiple nested promises create code that is difficult to understand and maintain, generating a "hell" of callbacks.
R
Refactoritis Compulsion to constantly refactor code, even when it is not necessary.
Refuctoring When trying to refactor code but ends up being more confusing or worse than before.
Rubber Duck Debugging Explain code step by step to a rubber duck to understand and solve problems.
S
Snake Case A type of word format where words are lowercase and separated by an underscore. This is often used for variable or file naming.
Spaghetti Code Disorganized and difficult to understand code, similar to the appearance of a plate of spaghetti.
Stovepipe System System that has the potential to share data or functionalities with other systems, but it doesn't.
Syntax Sugar Improvements to the syntax of a programming language that do not add new functionalities, but make the code more readable and easier to write, without altering its behavior.
V
Voodoo Programming Write code without fully understanding how or why it works, but make it work somehow.
Y
Yagni Acronym for "You Aren't Gonna Need It", it is a programming principle that advises against implementing additional functions or features "just in case", since they will probably never be needed, promoting development focused on current needs.
Yak Shaving Performing a series of seemingly irrelevant tasks before getting into the main task.
Yoda Conditions Invert the condition in an "if" statement to avoid accidental assignment errors.
Z
Zombie Code Portions of code that are inactive but still present in the system, similar to a "zombie" that wanders aimlessly. It is usually commented code.