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.
Lemon
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
And frankly it better matches many other languages like Ruby, Python and JavaScript. In fact it seems most JavaScript these days is written that way.
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.