One of the very many things that I love about Go is that it mandates Egyptian style braces. And it does so for a very good reason, I might add.
I’ll throw out the “Amsterdam Report”. Something we started around our office…
End user reports a bug such as “The values on screen X are wrong” - without providing any additional information…
I equated it as the user was trying to drive from LA to New York - and they ended up in Amsterdam - and they have no idea (or at least didn’t describe) why/how they ended up there.
Thus anytime an “Amsterdam (Bug) Report” comes in - it’s generally greeted with a developer saying, “Welcome to Amsterdam!”
I could have lived at a college when studying at university, which by my reading of Wikipedia is the same as a “frat house” in US-speak. http://www.usq.edu.au/accommodation/steelerudd
So more examples of different jargon in different places?
Years ago when I was working in Ireland I developed a habit of marking anything not yet configured in a configuration file and in code with the string “here be dragons”.
[mail servers] pop="pop.mycompany.com" smtp="here be dragons"
This had the simple advantage that one could search all config files for “dragons” to find items not yet configured (maybe the SMTP server wasn’t known yet but now is).
After a while I and later others started referring to a status where an application was installed but not yet configured as having dragons, as in “Module X is installed but some dragons remain”.
Now in Switzerland another interesting term developed, more or less by accident. The German equivalent of the English term “text book” (as in “ideal”) is “picture book”. Our test environment installation people have a habit of taking screenshots of anything that didn’t work or confused them during installation of our application. (That was very useful.) They then sent us the screenshots so we could resolve those issues or explain them away.
And now an installation routine that is particularly buggy is referred to as a “picture book installation” (again, think “text book installation”).
Only 2k LOC in a megamoth? I’ve worked on code which had one method which was ~10k LOC It also had up to 17 levels of nested conditional/loop. This is what happens when assembly programmers are let loose on higher-level languages without any reigning-in
In my first job we had to write “bus-proof” code. That meant plenty of documentation and everything saved safely into config control.
The idea is that anyone on a project could be knocked down by a bus on the way home, and the project simply must go on with nothing lost.
Instead of rubber ducking, we use the Inflatable Programmer: the one that sits down next to you, listen to your explanation, says nothing and you realize where the problem is. When you turn to thank him, he looks back with empty eyes and mouth wide open.
Dunno if this is new or not “Chernobyl code” for code that seals old legacy stuff in concrete to provide a new API or calling mechanism whilst hiding the old implementation details.
Also, is there a name for C++ code written by a Java developer? You know, where they are wordy (smurfy) as hell and bring across all the introspection naming conventions when introspection isn’t available?
And we have “hooker code”, which relies on the idea of prostitutes as > unclean and unsafe.
Ah, now i get what they want to imply.
The first association i had was something along “you have to pay every time”, like Mac-appstore vs. a debian repository.
Maybe it’s a regional thing, i’m from “liberal” Europe
This language says a lot about programmer culture.
We have “Jimmy”, the clueless new programmer, who is male
because programmers are male by default.
Which is, at least in most countries i know of, just a true observation. Furthermore, if it were Jane, i bet that would lead accusations of implying female programmers are less competent.
So, what name should we use to antropomporhize Cluelessness? As Jimmy’s sigh proves, no name does not “target” at least one person.
We have the “mad girlfriend bug”, which programmers can empathize
with because they are straight males who know what it is like to
have a mad girlfriend.
But, besides the empathizing, it communicates a recognizable metaphor, that, i’d argue, even asexual people of any sex will get, because of it’s pervalence in sit coms, movies etc.
It’s like “Herculean Task”, it doesnt matter that the Greek Gods are a myth as long as the meaning is transported.
I don’t particularly like the “Hooker Code”, because it seems to me like bitching about Prostitution witout adding worth to the metaphor, but objecting die Jimmy seems a little bit paranoid to me.
“I didn’t wrote that code! The Me In The Past did!”.
You In The Past – it’s not you: you don’t know what he did and why. Maybe that You In The Past person was kind enough to leave messages (comments) to other developers (including you now), but you can’t be sure. One thing you should do: write comments and documentation NOW so that other developers (including the You In The Future) will be able to understand it!
@js I never comment on blogs but I had to because of your terrible comment. What you have said has shown everyone that you are a bad, stereotypical, wannabe programmer. Any good programmer will use the style they see already in the project they are on. And if they are lead they can choose (usually discussing it with the team or using company policy) the style to use. You don’t just say some style is better and everyone using that style is an idiot for using it. I personally like brackets on new lines. The reason? I have worked like that on projects for years, it is always the style I see. But when I see projects with Egyptian style (which you seem to also take offense to it being named that… I mean really?) I adapt (by pressing enter less!) and use that style.
Speaking of Egyption Brackets, I recently wanted to post a SO question (but don’t have the nerve) asking why people still use Egyption Brackets because I thought that style died out years and years ago especially after Code Complete.
I still use K&R formatting. But then I started writing like that in 1985. It really doesn’t matter, the code compiles just the same.
But I guess some devs are more interested in presentation more than content – says a lot about them as developers really.
Stack Overflow and Stack Exchange should promote good questions instead of closing or deleting questions.
Or make a good designated place for deleted “too fun” questions to live! StackOverflowOverflow.
I hadn’t heard “Rubber Ducking.” We call it “Code Therapy.” You describe your coding problem to a workmate, and by the time you’re done describing it, the answer has occurred to you.
The parentheses without any parameters between them (). Used mainly for function calls. Either use a lemon to execute the function, or you’ll get a pointer. This term was coined by my 9 year old daughter when she was reading code out loud over my shoulder.
Yoda Exception Handling: Do, or do not; there is no try.
I have a term for a particular type of overstuffed function or god object. I call it the ‘duties as assigned.’ Like an employee that gets hired to do a simple job, and then finds out that his job description also includes ‘duties as assigned.’
Had a guy on a project who was supposed to write a function to do one simple thing, yet he decided to also use that function to accomplish every other task he felt needed to be achieved in the project.
Can I translate this to spanish? I want to use them around the place, but some of these are way too english for people to understand.
Oh and here in the office I coined what we call a “Maraña China” or “Chinese Mess” for when a code is s baly written and unformatted, that’s basically unreadable or impossible to understand what it does.
Brad Rembielak said:
Speaking of Egyption Brackets, I recently wanted to post a SO question (but don't have the nerve) asking why people still use Egyption Brackets because I thought that style died out years and years ago especially after Code Complete.
Actually Code Complete advocates the Egyptian style as I recall, which is one reason I started using it when writing C/C++ code. The reasoning is it makes blocks easier to distinguish if their shapes are like this:
MMMMMMMMMMM MMMMMMM M
As opposed to this:
MMMMMMMMMMM M MMMMMMM M
So while the name is perfectly fine, to act like this style is bad or out-of-date just shows one as being an unexperienced programmer.