Yes, add anchors for each item please!
I’ve seen examples of quite a few of these at the office… thanks for the comic relief
I’m somewhat surprised that neither “Hail Mary commit” nor “shotgun commit” showed up here. The former is an unproven fix with an unknown set of behaviors, enabled at the last possible time before release to distribution – indeed, often as the last change before a tag. As Flutie did before you, heave that mother up, and hope, and pray, and know it’s in every way out of your hands until foo.0.1 can get cut.
Shotgun commits are easy to identify: the commit merges a reasonable fix from another branch, along with a plane in the x and y dimensions of new logging, and a sound server, and the beginnings of i18n structure. A “Fore!” or “Incoming!” or even “FIRE IN THE HOLE!!” (when appropriate) in your changelogs is just good common courtesy.
we’ll cover tactical and strategic nukes next lesson.
The Egyptian braces came from the “Indian Hill C Style and Coding Standards as amended for U of T Zoology UNIX”
I always found it amazing that a university had the time and funds to set up a committee to decide how every department would write their code. Then the only remaining copy is the one maintained by the Zoology department.
ha ha ha… very impressive and funny. Especially Egyptian Brackets.
Egyptian brackets are rarely used outside of Java world. I don’t like them.
DoThis() Write-Host "A" DoThat() Write-Host "B" if (Foo = Bar) Write-Host "Ca" else Write-Host "Cb" endif
Used in those instances when a real debugger is not available (e.g. scripts, Classic ASP, etc).
Requirewant: A desired feature outside the original scope. Close cousin of the requirement.
@Félix Cloutier - yes, VC++ also warns about assignment within conditional (based on my experience some years ago with VC++ 6). I was usually advised not to rely on this though, and to phrase conditionals as “if (constant == variable)” as many people do.
“Confessional Debugging” when you can’t figure out a bug and the moment you explain it to somebody else you know exactly what’s wrong without them having to say anything.
Would love to add ‘Dangling Indexes’ to the list.
Checking for something like $_SERVER[‘HTTPS’] in an if clause when you connect to the page via http will through a
Notice: Undefined index: HTTPS in language-redirector.php on line 43
Or my personal WordPress favorite: add_filter(‘the_generator’, security_remove_version); Which will throw something like:
Notice: Use of undefined constant security_remove_version - assumed ‘security_remove_version’ in wp-content/themes/cheapo/functions.php on line 23
It always makes me think of the ‘dangling participle’ phrase my English teacher used to through out at me in high school. These errors are like unfinished sentences and like low hanging (or dangling) fruit easy to fix.
What a laugh!
Nice jargon, seen many of those. Afraid and ashamed to say that I have made some of those things XD. Nice post, Jeff.
Loved the Yoda Conditions.
I’ve known about that style of coding but never knew that it’s called Yoda Conditions. Nice one. Makes me remember/relate easily.
I also like the Pokemon Exception Handling. Seems like I am abusing it recently. I might have catched a lot of pokemons.
Also, the Jimmy thing is new to me.
A former co-worker had dubbed rubber ducking “The Elton Method” back in the 80’s. He worked for a university data center where there was a guy named “Elton” who was a great listener. The guy never had the first clue what you were talking about, but he nodded obsequiously and scratched his chin thoughtfully saying, “Hmmm!”.
In the process of explaining the problem to him, you would realize how to solve it. We still call it “The Elton Method” and a truly great practitioner can use it with any old brick wall. Don’t need an actual person.
We call what is called “rubber ducking” here, “teddybot” or “talking to teddybot”, which was picked up from me, who based it on having been on a channel where http://home.ccil.org/~cowan/teddybot/ was used.
DDT - “Patient: Doctor it hurts when I do this. Doctor: Don’t do that.” Describes an issue that only occurs under the most absurdly improbable conditions.
Table top debugging - When a meeting degenerates into a discussion of the possible causes of a bug by people who have never looked at the code and have no idea what they’re talking about.
Heisenbug was coined by much-missed Jim Grey, of Fourth Paradigm fame; even better is his companion term for plain ordinary easy to find issues - Bohrbug. Be my hero and add the attribution.
We use “Chernobyl code” to mean “pull just 1 more control out and then everyone dies”
Jeff I love you to pieces, but it seems your allergy to all things C continues. K&R didn’t use this Egyptian style of braces! In fact, that was what was so different about K&R’s coding style.
You big goofball
Bleh, at least not for members. My bad!