Programming
Raiting:
3

New programming slang


A question recently posted on stackoverflow.com asked for people to submit programming terms that they or their team have coined and have come into regular use in their own circles.

Below are the most popular answers

Yoda Conditions
The act of using if (constant == variable) instead of natural if (variable == constant),; for example, if (4 == foo). Because it is like "if it is the blue – this is the sky" or "if that is tall – this is a man."

image

Pokémon Exception Handling
When you catch all the exceptions and then you try somehow to analyze them.

try{
//code
}catch ( Exception ex){
if( ex instanceof SubException){
//code
}else if(ex instanceof SubSubException){
//code
}else{
//code
}
}

Discuss an example here

Egyptian brackets
This is the style of brackets, when an opening bracket is placed at the end of this line:

if (a == b) {
printf("hello");
}

Why do we call this style "Egyptian brackets?" Compare the location of the brackets with the location of the hands in this picture:

image

(This style of brackets was used in the famous book of Kernighan and Ritchie "C Programming Language", so it is also known as the style of K&R).

Different types of bug reports

Smug Report
A bug report submitted by a user who thinks he knows a lot more about the system’s design than he really does. Filled with irrelevant technical details and one or more suggestions (always wrong) about what he thinks is causing the problem and how we should fix it.

Drug Report
This is a bug report so utterly incomprehensible that whoever submitted it must have been smoking crack. The lesser version is a chug report, where the submitter is thought have had one too many.

Shrug Report
This is a bug report with no error message or “how to reproduce” steps and only a vague description of the problem. Usually contains the phrase "doesn’t work."

image

A Duck
A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.
This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn’t, they weren’t adding value.

The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen’s animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the "actual" animation.

Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, "That looks great. Just one thing – get rid of the duck."

image

Refactoring
The process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself.

Stringly Typed
It is a riff on strongly-typed. It is used to describe an implementation that needlessly relies on strings when programmer- and refactor-friendly options are available.
Examples: Method parameters that take strings when other more appropriate types should be used. On the occasion that a string is required in a method call (e.g. network service), the string is then passed and used throughout the rest of the call graph without first converting it to a more suitable internal representation (e.g. parse it and create an enum, then you have strong typing throughout the rest of your codebase).
This is message passing without using typed messages etc. Excessively stringly typed code is usually a pain to understand and detonates at runtime with errors that the compiler would normally find.

image

Doctype Decoration
When web designers add a proper DOCTYPE declaration at the beginning of an HTML document, but then don not bother to write correct markup for the rest of it.

Heisenbug
It is an error, which disappears or alters when it is attempted to be identified by analogy to Heisenberg uncertainty principle in the quantum physics.

image

Jimmy
A generalized name for the clueless/new developer. The submitter at Stack Overflow writes:
We found as we were developing a framework component that required minimal knowledge of how it worked for the other developers. We would always phrase our questions as: "What if Jimmy forgets to update the attribute?"

This led to the term "Jimmy-proof" when referring to well designed framework code.

image

Higgs-Bugson
It is a hypothetical error, which existence is predicted on the basis of a small number (possibly) related to the log and vague anecdotal reports from the users, which is difficult to reproduce on the developer machine, because it is impossible to know whether it actually exists, and if there is something that caused it.

Here is a link to the Higgs boson - a hypothetical massive elementary particle that is predicted to exist by the Standard Model SM of particle physics.

Nopping
It is not napping, but simply zoning out. It comes from the assembly language instruction NOP, for No OPeration, which does nothing.

image

Other types of errors

Hindenbug
It is an error that causes the catastrophic data destruction.

Here is a link to Hindenburg dirigible, was destroyed during its attempt to dock with its mooring mast at the Lakehurst Naval Air Station.

Counterbug
It is a defensive move useful for code reviews. If someone reviewing your code presents you with a bug that is your fault, you counter with a counterbug: a bug caused by the reviewer.

Bloombug
This is the error that randomly generates money.
Perhaps, this is a link to the Bloomberg company.

Unicorny
An adjective to describe a feature that’s so early in the planning stages that it might as well be imaginary. This one comes from Rails Core Team member Yehuda Katz, who used it in his closing keynote at last year’s Windy City Rails to describe some of Rails’ upcoming features.

Barack Obama
It is a project management account that we assign the most aspirational tasks, the stuff we would really like to do, but we will probably never get an approval for it.

image

Loch Ness Monster bug
It is an error that will not repeat and only one person had seen it.

image

Baklava code
This is a code, which has too many layers.

image

Workaroundability
This is the feeling, when a cracked approach still can or cannot be cracked further.

Fear Driven Development
When project management adds more pressure, such as by firing a member of the team.

image

Common Law Feature
This is an error in the application, which has existed for so long that now it is a part of the expected functionality.

Here is a link to the "Common law", also it is known as case law or precedent.

Bicrement
Adding 2 to a variable.

Idioms that come from the food

Programmer fuel
It could be: Lemonade Mountain Dew, coffee and anything that fills you with caffeine.

Hot potato / Hot potatoes
It is a fun way to pronounce http:// and https://.

Send all the information about the client through the service authorization at «hot potatoes»: // company name.com/auth.

Cake
It depends on the context, usually it refers to some action on the noun. This noun should consist of one syllable for easy communication.

Banana banana banana
Placeholder text that indicates the documentation is in progress or yet to be completed. Mostly used because FxCop complains when a public function lacks documentation.
(Example: SVNStyleCop в C# или FxCop в C++).

/// <summary>
/// banana banana banana
/// </summary>
public CustomerValidationResponse Validate(CustomerValidationRequest request, bool useStrictValidation, bool throwIfSessionExpired)

Chunky salsa
This is a single critical error or bug that renders an entire system unusable, especially in a production environment.
It is based on the chunky salsa rule. Any situation that would reduce a character’s head to the consistency of chunky salsa dip is fatal, regardless of other rules.
The whole system turned chunky salsa after Bob's change to the login screen locked everyone out of their accounts.

image

Squizzle-giz
A horribly mispronounced version of the file extension .sql.gz
We made it up while setting up a server and looking for something easier/more fun to say than "dot ess que ell dot gee zee file" or "gzipped sequel file."

Hooker Code
Code that is problematic and causes application instability (application "goes down" often). Example: “Did the site go down again? Yeah, Jim must still have some hooker code in there”.

image

Reality 101 failure
The program (or more likely feature of a program) does exactly what was asked for, but when it’s deployed it turns out that the problem was misunderstood and the program is basically useless.

Hydra Code
A code that cannot be fixed. One fix causes two new bugs.
It should be rewritten.

image

Protoduction
This is a prototype that ends up in production.

image

Ninja Comments
It is also known as invisible comments, secret comments, or no comments.

image

Rubberducking
Sometimes, you just have to talk a problem out; for example: Someone put a rubber duck on the monitor, so he could talk to it, therefore, rubberducking is talking your way through a problem.

Databasically
Using a database to store information.
Example: "Hey, I'll put all of our customers into a Word document and then we can X." "No, we should do that databasically so that we can keep that list up to date."

The author of this idiom states that he named his company - “Databasically”.

image

Smurf Naming Convention
When almost every class has the same prefix. IE, when a user clicks on the button, a SmurfAccountView passes a SmurfAccountDTO to the SmurfAccountController. The SmurfID is used to fetch a SmurfOrderHistory which is passed to the SmurfHistoryMatch before forwarding to either SmurfHistoryReviewView or SmurfHistoryReportingView. If a SmurfErrorEvent occurs it is logged by SmurfErrorLogger to ${app}/smurf/log/smurf/smurflog.log.

Megamoth
MEGA MOnolithic meTHod. Usually, it stretches over two screens in height and often contained inside aGod Object (an object that knows or does too much). Megamoths of greater size than 2k LOC have been sighted. Beware of the megamoth!

image

apt-got and wgot
It designates the programs that were installed (on Unix) using the command apt-get and files that were downloaded using the command wget.
Examples: “I apt-got 100MB of updates this morning”. “Once this loop has wgot that file, it takes the md5 hash”.

poisoned pill
It's a voluntary erroneous code that is used to protect a code. It's completely useless as never executed but well included in the source. If your program is stollen, it's easy to prove pointing out the useless instructions(Thanks to ipl_001)
0
KlauS 1 january 2012, 16:15
Vote for this post
Bring it to the Main Page
 

Comments

0 banjopuppet February 9, 2012, 1:54
Good stuff, but funnier than Squizzle - giz is squirrel jiz.
+1 Resuna February 25, 2012, 15:21
Rubberducking is an effective technique. We call it talking to the bear, after a protomythical stuffed bear... generally used to refer to people acting as proxy bears by listening to an explanation of a problem: "can you be my bear for a moment, I was looking at this user's desktop and ... oh, yeh, I should have looked in Program Files (x86), thanks!"
+1 supra February 25, 2012, 16:31
Superb buddy..very interesting as well as information rich content
0 catlips February 25, 2012, 22:28
We used to refer to "the duck" as "the Frankenstein bolt." Same idea. "Get rid of the bolt and we're good to go." Nice post.
+2 ipl_001 February 27, 2012, 14:29
What about a poisoned pill?
It's a voluntary erroneous code that is used to protect a code. It's completely useless as never executed but well included in the source.
If your program is stollen, it's easy to prove pointing out the useless instructions; it's still better to insert something that identifies you so that a guy cannot say "I wrote it before you did so" or "I developed the program myself".
Isn't good? ;-) "poisoned pill".
0 KlauS February 27, 2012, 16:09
Interesting technique, thanks.
I have updated my article.
0 vpatryshev February 27, 2012, 18:04
2K is not a Megamoth... I have a 53kLOC method in a Java file in my archive, stolen from a company I worked at about 7 years ago. Half of the method is a switch statement. Nobody was allowed to touch that file.
0 Acamara February 28, 2012, 11:12
I... Just... Can't... stop... laughing....
0 Neo February 28, 2012, 16:44
How about following!!

FATEL Error!!!
When we are about to show the final presentation to customer/boss and we get an ERROR, which was not expected. Its nothing but our FATE.

Dream Code/Object/form control/anything can be...
It is the Code/Object whatever which was created in the beginning with lot of hopes and then never used or developed until the whole project is to be changed.

e.g. Why isn't that button showing the HELP? It's actually dream button.
0 mumbler March 8, 2012, 20:56
Demo-driven Development

We all know what Test-driven Development is. Demo-driven development is where the development plans are changed to implement stuff needed to suit the demo requirements specified by the stakeholders. So its an implementation in which only the happy path works as thats what the developers had to concentrate on when writing the code. Once the stakeholders see something visually, they are happy and think the product is complete!
0 Robotron January 13, 2013, 10:26
Maybe

"The process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. "

should be called "refuctoring"
0 evanlarsen March 27, 2013, 18:58
How about Macaroni Code.

Where your code is so full of abstractions and interfaces that only have one implementation, it becomes harder to follow than if it was spaghetti code.
0 LavonnaKitz November 2, 2013, 2:28
Hello, i read your blog from time to time and i own a similar one and i was just curious if you get a lot of spam remarks? If so how do you protect against it, any plugin or anything you can recommend? I get so much lately it's driving me crazy so any support is very much appreciated.

Leave a Reply

B
I
U
S
Help
Avaible tags
  • <b>...</b>highlighting important text on the page in bold
  • <i>..</i>highlighting important text on the page in italic
  • <u>...</u>allocated with tag <u> text shownas underlined
  • <s>...</s>allocated with tag <s> text shown as strikethrough
  • <sup>...</sup>, <sub>...</sub>text in the tag <sup> appears as a superscript, <sub> - subscript
  • <blockquote>...</blockquote>For  highlight citation, use the tag <blockquote>
  • <code lang="lang">...</code>highlighting the program code (supported by bash, cpp, cs, css, xml, html, java, javascript, lisp, lua, php, perl, python, ruby, sql, scala, tex)
  • <a href="http://...">...</a>link, specify the desired Internet address in the href attribute
  • <img src="http://..." alt="text" />specify the full path of image in the src attribute