I worked for a summer as an intern in a computer game development studio while studying. One of my tasks was to improve the performance of an exporter for animated 3D vertex data from within Alias|Wavefront Maya. The version of the script the were currently using was written in Maya's MelScript language and was atrociously slow, requiring the animator to get up and have a cup of tea for half an hour every time he wanted to export more than 10 frames of a character with more than 10 animated vertices. There was no way to speed up the script as written, so I was going to have to dive into Maya's C++ API, which was at the time very poorly documented with scant few examples.
Now, Maya has a remarkable plugin architecture that allows any data input in the scenegraph to be plugged in to basically any data output anywhere else in the scenegraph. This means that, at the C++ level, there are many levels of abstraction to get from a high-level object representation to the raw vertex data that I was interested in. At the time I was a computer science undergrad, and this was my first real job of any kind. So, I was navigating structures I had next to no understanding of, built with an amazingly complex plugin architecture the likes of which I had never used before.
Having got the base plugin stuff compiling and not crashing, I spent the next several days navigating the dense graph structure to locate where I thought the vertex data might be, then hit a brick wall of epic proportions. From memory, I had to get something called a Plug to the value, which then needed to be Adapted somehow, which gave me back another kind of Plug which I then had to dereference several times to reach a pointer to a pointer to an array of pointers to actual vertex data. And at the time, I hadn't actually quite grasped what a pointer meant.
After spending 16 frustrating hours on the four lines of code that did this, the variables names had morphed from sensible things like Plug thePlug to Plug* adaptedPlugFromPlug to Plug adaptedDereferencedPlugFromPlugArrayMaybe to Vector* iDontUnderstandAnymore to Vector* JUSTCOMPILEYOUMOTHERF--KER, and so on. The end product was a function where the variables were named, in order, sh-tsh-t, f-ckf-ck, c-ntyc-nt and f-cksh-tf-ck. When it finally worked, it worked stunningly well, exporting in 5 seconds flat what used to take a full 30 minutes. To the company's credit (or not), they only cared that it worked, and didn't review the code any further; and to this day, as far as I know, these variable names persist in their CVS repository.